chmod + бесшумный режим + как код выхода из команды 0, несмотря на ошибку

Возможно ли выполнить команду chmod и проигнорировать ошибку из команды

Пример (примечание file.txt не exsist, чтобы показать пример)

Когда я печатаю

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 return 1

Просьба сообщить, как заставить команду chmod выдавать код выхода 0, несмотря на ошибку

27 голосов | спросил user58412 5 MarpmWed, 05 Mar 2014 14:55:25 +04002014-03-05T14:55:25+04:0002 2014, 14:55:25

3 ответа


38
  

Просьба сообщить, как заставить команду chmod предоставить код выхода 0 в   несмотря на ошибку

chmod -f 777 file.txt || :

Это выполнит :, то есть нулевую команду, если chmod не работает. Поскольку нулевая команда ничего не делает, но всегда преуспевает, вы увидите код выхода 0.

ответил devnull 5 MarpmWed, 05 Mar 2014 14:58:54 +04002014-03-05T14:58:54+04:0002 2014, 14:58:54
40

chmod -f 777 file.txt || true

Поскольку это OR, если одно из операторов возвращает true, тогда возвращается true. Это приводит к нулевому состоянию выхода.

ответил Gerry 30 MaramMon, 30 Mar 2015 03:19:39 +03002015-03-30T03:19:39+03:0003 2015, 03:19:39
4

Я всегда любил

 chmod -f 777 file.txt || exit 0
ответил Eran Chetzroni 13 SunEurope/Moscow2015-12-13T15:46:49+03:00Europe/Moscow12bEurope/MoscowSun, 13 Dec 2015 15:46:49 +0300 2015, 15:46:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132