The OpenNET Project / Index page

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



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

Оглавление

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

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


8. "Скрипт для конвертации архива gz в lzma"  +3 +/
Сообщение от Аноним (6), 02-Мрт-22, 20:09 
А скрипт просто ужасен. Переменные без кавычек после rm и mv - верный путь удалить себе ноги или переместить их вместо рук.

Надо так:
mv -v -- "$F"
rm -v -- "$F"

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

33. "Скрипт для конвертации архива gz в lzma"  –1 +/
Сообщение от Аноним (34), 07-Апр-22, 03:19 
Переменная проверяется до mv и rm, смысла нет засирать кавычками и флажками. Если что-то такое с пробелами в $F подсунуть, иф упадет.
У вас просто догма - нужно все обкавычивать, как бы чего не вышло.
Ответить | Правка | Наверх | Cообщить модератору

36. "Скрипт для конвертации архива gz в lzma"  +/
Сообщение от Аноним (36), 13-Апр-22, 12:23 
Из каких конструкций можно понять, что переменная действительно проверяется до mv и rm? Неочевидно и неизвестно никому через два месяца.

Без кавычек при вносе изменений придётся каждый раз, каждый раз, перечитывать всё, убеждаясь и разыскивая, что переменная проверяется до mv и rm. Это трата времени и внимания.

Подход с кавычками не требует анализировать весь скрипт каждый раз.
(Но, этот шелл такой шелл, что чтобы окавычивать и не перечитывать всё каждый раз с нуля, нужно окавычивать вообще всё всегда или сохраняется необходимость перечитки кода при вносе изменения. Такая магия развёртки переменных в кавычках и без, более-менее однозначность только если вообще всегда в кавычках. А иначе - тоже вчитываться надо опытному магу.)

Потому кавычки упрощают в долгосрочной перспективе.

P.S. В Шелле нет хорошего способа программировать. Инструмент для другого. Инструмент админа для интеграции/связи утилит, написанных на богатых инструментами и средствами программирования языках.

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

46. "Скрипт для конвертации архива gz в lzma"  +1 +/
Сообщение от Аноним (46), 28-Апр-22, 15:26 
> Переменная проверяется до mv и rm, смысла нет засирать кавычками и флажками.

Дешёвые понты. "Засирать" - это как раз про такой говнокод, в котором нужно постоянно разбираться, что за чем проверялось. А двойные кавычки и EoO спасут ещё не один системный корень.

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

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

Значит вы еще не наступали на грабли, иначе бы знали почему шелчек ругается на безковычковые переменные

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

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

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




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

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