web-dev-qa-db-fra.com

chmod + mode silencieux + comment forcer le code de sortie 0 malgré l'erreur

Est-il possible d'exécuter chmod et d'ignorer l'erreur de la commande

Exemple (remarque file.txt pas exsist 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

J'ajoute donc l'indicateur-f à la commande comme suit: (fichier.txt n'existe pas pour montrer le cas)

  chmod -f 777 file.txt
  echo $?
  1

Mais à partir de l'exemple chmod return 1

Veuillez indiquer comment forcer la commande chmod à donner le code de sortie 0 malgré l'erreur

38
user58412

Veuillez indiquer comment forcer la commande chmod à donner le code de sortie 0 malgré l'erreur

chmod -f 777 file.txt || :

Cela exécuterait :, c'est-à-dire la commande null, si chmod échoue. Étant donné que la commande null ne fait rien mais réussit toujours, vous verrez un code de sortie de 0.

51
devnull

chmod -f 777 file.txt || true

Comme il s'agit d'un OU, si l'une des instructions renvoie vrai, le retour est vrai. Il en résulte un état de sortie de zéro.

56
Gerry

J'ai toujours aimé

 chmod -f 777 file.txt || exit 0
6
Eran Chetzroni