Возможно ли выполнить chmod и игнорировать ошибку из команды
Пример (примечание file.txt не существует, чтобы показать пример)
Когда я печатаю
chmod 777 file.txt
Я получаю ошибку на выходе
chmod: cannot access file.txt : no such file or directory
Поэтому я добавляю флаг -f к команде следующим образом: (file.txt не существует, чтобы показать случай)
chmod -f 777 file.txt
echo $?
1
Но из примера возвращаем chmod 1
Посоветуйте, пожалуйста, как заставить команду chmod выдавать код выхода 0 несмотря на ошибку
shell
shell-script
chmod
error-handling
Жиль "ТАК - прекрати быть злым"
источник
источник
2>/dev/null
и использоватьset -e
в сценариях.Ответы:
Это выполнит
:
, то есть пустую команду, еслиchmod
потерпит неудачу. Поскольку команда null ничего не делает, но всегда завершается успешно, вы увидите код выхода 0.источник
chmod -f 777 file.txt || true
:
кажется одинаково читабельным.chmod -f 777 file.txt || true
Так как это ИЛИ, если одно из утверждений возвращает true, тогда возвращаемое значение true. Это приводит к статусу выхода ноль.
источник
||
не будет выполнена, если онаchmod
будет успешной ... не то, чтобы она имела здесь большое значение для вычислений.Я всегда любила
источник