É possível executar chmod e ignorar erro do comando
Exemplo (observação file.txt não existe para mostrar o exemplo)
Quando digito
chmod 777 file.txt
Recebo erro na saída
chmod: cannot access file.txt : no such file or directory
Então, adiciono o sinalizador-f ao comando da seguinte forma: (file.txt não existe para mostrar o caso)
chmod -f 777 file.txt
echo $?
1
Mas do exemplo chmod return 1
Por favor, aconselhe como forçar o comando chmod a fornecer o código de saída 0, apesar do erro
shell
shell-script
chmod
error-handling
Gilles 'SO- parar de ser mau'
fonte
fonte
2>/dev/null
e useset -e
em scripts.Respostas:
Isso executaria
:
, ou seja, o comando nulo, sechmod
falhar. Como o comando nulo não faz nada, mas sempre é bem-sucedido, você verá um código de saída 0.fonte
chmod -f 777 file.txt || true
:
parece igualmente legível.chmod -f 777 file.txt || true
Como é um OR, se uma das instruções retornar true, o retorno será true. Isso resulta em um status de saída igual a zero.
fonte
||
não será executado sechmod
for bem-sucedido ... não que isso faça muita diferença computacional aqui.Eu sempre amei
fonte