Est-il possible d'exécuter chmod et d'ignorer l'erreur de la commande
Exemple (remarque fichier.txt non existant pour montrer l'exemple)
Quand je tape
chmod 777 file.txt
Je reçois une erreur sur la sortie
chmod: cannot access file.txt : no such file or directory
Donc, j'ajoute l'indicateur-f à la commande comme suit: (fichier.txt n'existe pas pour montrer le cas)
chmod -f 777 file.txt
echo $?
1
Mais de l'exemple chmod retour 1
Veuillez indiquer comment forcer la commande chmod à donner le code de sortie 0 malgré l'erreur
shell
shell-script
chmod
error-handling
Gilles, arrête de faire le mal
la source
la source
2>/dev/null
et l'utilisationset -e
dans les scripts.Réponses:
Ceci exécuterait
:
, c’est-à-dire la commande null, sichmod
échouait. Comme la commande null ne fait rien mais réussit toujours, vous verriez un code de sortie de 0.la source
chmod -f 777 file.txt || true
:
semble tout aussi lisible.chmod -f 777 file.txt || true
Comme il s’agit d’un OU, si l’une des déclarations renvoie true, le retour est vrai. Cela entraîne un état de sortie égal à zéro.
la source
||
ne sera pas exécutée si ellechmod
réussit ... pas que cela fasse une grande différence de calcul ici.J'ai toujours aimé
la source