The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Раздел полезных советов: Скрипт для конвертации архива gz в lzma, auto_tips (ok), 27-Фев-22, (0) [смотреть все] +2

Сообщения [Сортировка по времени | RSS]


2. "Скрипт для конвертации архива gz в lzma"  +7 +/
Сообщение от Аноним (2), 28-Фев-22, 20:45 
соглашусь с предыдущим оратором. Автор, вбей свой скрипт в shellcheck.

> Скрипт для конвертации архива gz в lzma

что за задачка такая странная? Зачем это вообще нужно?

> echo

printf

> if условие; then
>   практически весь скрипт
> else
>   какой-то однострочный пустяк
> fi

просто проверь в самом начале на плохое условие и сделай ранний выход. Зачем весь скрипт помещать внутрь гигантского ифа?

> /usr/bin

не понимать, зачем универсальному кросс-дистровому скрипту хардкодить пути к бинарям. А если я захочу переопределить $PATH?

> CopyLeft (L)

Что за лицензия такая?

> echo error: no input file $F or $F.gz
> exit 1

почему ошибки идут в stdout, а не в stderr?

где стандартная преамбула, врубающая строгий режим? типа

    set -euo pipefail
    shopt -s inherit_errexit

почему у переменных однобуквенные названия? да ты и сам спустя месяц забудешь, что они значат

> if [ -f $F.gz ]

че за бред, это не единственная IO-ошибка, которая может возникнуть. Об этих ошибках должна рапортовать вызываемая прога, а твое дело -- просто вовремя выходить и не глушить ее stdout/err.

Ответить | Правка | Наверх | Cообщить модератору

9. "Скрипт для конвертации архива gz в lzma"  +1 +/
Сообщение от Омомо (?), 03-Мрт-22, 22:25 
> set -euo pipefail
> shopt -s inherit_errexit

там в шебанге -- `/bin/sh`, нет никакого pipefail.
какой такой шопт? его тоже нет.

Ответить | Правка | Наверх | Cообщить модератору

11. "Скрипт для конвертации архива gz в lzma"  +2 +/
Сообщение от john_erohin (?), 04-Мрт-22, 07:46 
> там в шебанге -- `/bin/sh`, нет никакого pipefail.

однако "set -e" есть.

> какой такой шопт? его тоже нет.

есть такие потребители смузей, что линкуют жырный bash на /bin/sh

Ответить | Правка | Наверх | Cообщить модератору

21. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 29-Мрт-22, 02:30 
Не знаю, как в gentoo, но в calculate по дефолту. А может и в gentoo тоже.
Ответить | Правка | Наверх | Cообщить модератору

42. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от ммнюмнюмус (?), 19-Апр-22, 22:08 
> есть такие потребители смузей, что линкуют жырный bash на /bin/sh

А ещё у bash конвейеры передают быстрее, чем (внезапно) тот же dash, сам мерял.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

29. "Скрипт для конвертации архива gz в lzma"  –1 +/
Сообщение от Аноним (29), 03-Апр-22, 05:56 
Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени.

Писать на баше это разумный и оптимальный подход, за исключением 3½ вырожденных случаев, которые ты за свою жизнь в дикой природе не встретишь, а если встретишь, то и там тоже будет баш.

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

30. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от john_erohin (?), 06-Апр-22, 05:50 
> Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени.

на чистом /bin/sh - да, возможно.
но зачем, если есть grep, sed и awk.

Ответить | Правка | Наверх | Cообщить модератору

34. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от Аноним (34), 07-Апр-22, 03:31 
Если что-то трудно изобразить на чистом шелле, то на баше получится урод еще покруче. Как раз 3.5 случая, когда башизмы хорошо ложатся. Лично мне проще писать на примитивном и простом как палка шелле, чем зазубривать все особенности баша.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

54. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от OpenEcho (?), 25-Фев-23, 19:24 
> чем зазубривать все особенности баша.

которые к тому же могут быть не совместимыми между версиями

Ответить | Правка | Наверх | Cообщить модератору

55. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от OpenEcho (?), 25-Фев-23, 19:28 
> Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени.

Так и запишем, - "не одолел" :)

На чистом шеле + стандартных утилитах типа sed, awk, tr, jq... можно написать большинство админовских задач ^значительно быстрее^ чем использование более высокоуровневых языков


Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру