Qu'est-ce que /bin/true

Sur un système Linux qu'est-ce que /bin/true?

58
demandé sur Chris Seymour 2010-02-01 11:21:15

5 réponses

/bin/true est une commande qui renvoie 0 (une valeur de vérité dans la coque).

Son but est d'utiliser dans des endroits dans un script shell où vous utiliseriez normalement un littéral tel que "true" dans un langage de programmation, mais où le shell ne prendra qu'une commande à exécuter.

/bin/false est le contraire qui renvoie non-zéro (une valeur fausse dans le shell).

63
répondu camh 2016-07-30 21:35:19

De la page de manuel:

true - do nothing, successfully

true returns a status 0.
24
répondu user231967 2013-12-16 10:23:27

Notez que ce n'est pas seulement stupide ou visuellement agréable. Il aide par exemple à quitter un programme sans activer les gestionnaires de fin qui pourraient gâcher lors de l'exécution de programmes multi-threads ou fourchus. Comme dans perl:

#!/usr/bin/env perl

exec "/bin/true";

END {
  print "This wont get printed .. would have if I just 'exit' or 'die'\n";
}
8
répondu user3072567 2013-12-06 00:42:52

Je l'ai vu utilisé pour tromper une opération système en pensant qu'une commande a été exécutée alors qu'elle ne l'a pas été. si une commande est défectueuse, par exemple en boucle, vous pouvez la remplacer par un lien symbolique vers 'true' pour que le travail principal s'exécute. Seulement une bonne idée si le travail remplacé n'est pas essentiel.

1
répondu Sunshine 2016-09-20 22:25:57

En disant simplement que c'est un programme renvoyant 0. Parfois, nous devons obtenir cette valeur pour rendre le script plus lisible.

0
répondu Marcus Thornton 2013-06-13 10:21:28