chmod + modo silencioso + como forçar o código de saída 0 apesar do erro

28

É possível executar chmod e ignorar erro do comando

Exemplo (observação file.txt não exsist para mostrar o exemplo)

Quando eu digito

chmod 777 file.txt

Eu recebo erro na saída

  chmod: cannot access file.txt : no such file or directory

Portanto, adiciono o sinalizador-f ao comando da seguinte maneira: (file.txt não existe para mostrar o caso)

  chmod -f 777 file.txt
  echo $?
  1

Mas a partir do exemplo chmod return 1

Por favor, informe como forçar o comando chmod a fornecer o código de saída 0 apesar do erro

    
por Gilles 05.03.2014 / 11:55

3 respostas

40

Please advice how to force the chmod command to give exit code 0 in spite of error

chmod -f 777 file.txt || :

Isso executaria : , ou seja, o comando nulo, se chmod falhar. Como o comando null não faz nada, mas sempre é bem-sucedido, você veria um código de saída de 0.

    
por 05.03.2014 / 11:58
43

chmod -f 777 file.txt || true

Como é um OR, se uma das declarações retornar true, o retorno é verdadeiro. Isso resulta em um status de saída de zero.

    
por 30.03.2015 / 02:19
4

Eu sempre amei

 chmod -f 777 file.txt || exit 0
    
por 13.12.2015 / 13:46