¿Es posible ejecutar chmod e ignorar el error del comando
Ejemplo (el archivo de comentarios.txt no existe para mostrar el ejemplo)
Cuando escribo
chmod 777 file.txt
Me sale un error en la salida
chmod: cannot access file.txt : no such file or directory
Entonces agrego la bandera-f al comando como sigue: (file.txt no existe para mostrar el caso)
chmod -f 777 file.txt
echo $?
1
Pero del ejemplo chmod return 1
Indique cómo obligar al comando chmod a dar el código de salida 0 a pesar del error
shell
shell-script
chmod
error-handling
Gilles 'SO- deja de ser malvado'
fuente
fuente
2>/dev/null
y úselaset -e
en scripts.Respuestas:
Esto se ejecutaría
:
, es decir, el comando nulo, sichmod
falla. Dado que el comando nulo no hace nada pero siempre tiene éxito, verá un código de salida de 0.fuente
chmod -f 777 file.txt || true
:
parece igualmente legible.chmod -f 777 file.txt || true
Como es un OR, si una de las declaraciones devuelve verdadero, entonces el retorno es verdadero. Esto da como resultado un estado de salida de cero.
fuente
||
no se ejecutará sichmod
tiene éxito ... no es que haga una gran diferencia computacional aquí.Siempre amé
fuente