web-dev-qa-db-fra.com

Existe-t-il un fichier exécutable mannequin standard qui ne fait rien de Linux?

Existe-t-il un fichier exécutable mannequin standard qui ne fait rien de Linux? J'ai une commande shell qui ouvre toujours l'éditeur $ avant le processus de construction pour entrer des arguments manuellement. Dans mon cas, mes arguments sont toujours déjà définis (il s'agit d'un script automatisé), donc je n'en ai jamais besoin, mais il apparaît toujours et attend la saisie de l'utilisateur.

Pour résoudre ce problème, j'ai créé un fichier exécutable vide qui ne fait rien, donc je peux définir EDITOR=dummy Et le script de construction l'appelle, il quitte et le processus de construction peut commencer.

Ma question est là, existe-t-il un fichier officiel existant sous Linux que lorsqu'il est exécuté ne fait rien, une sorte d'espace réservé que je pourrais utiliser à cette fin?

46
Belval

/bin/true

true ne fait rien avec succès.

false tente de ne rien faire, mais échoue.

Ils sont mis en œuvre dans /bin/true et /bin/false.

Mais parce qu'il est parfois bon de ne rien faire vraiment vite, il y a aussi une coquille intégrée true. Parfois, vous voulez échouer avec ne rien faire vraiment vite, il y a donc une coquille intégrée false.

La différence entre la réussite et l'échec est l'état de sortie $?. Il est 0 Pour réussir et autre chose que cela pour échec. Statut de sortie 1 est utilisé pour indiquer simplement une défaillance, mais il peut s'agir d'un code d'erreur jusqu'à 254 Pour expliquer ce qui a mal tourné en détail.

$ true
$ echo $?
0
$ false
$ echo $?
1
$ false
$ echo $?
1
$ echo $?
0

Notez comment le dernier echo renvoie 0 parce que le echo précédant sa réussite.

L'état de sortie est utilisé avec les opérateurs logiques, comme "et" (&&) et "ou" (||):

$ true && echo "success"
success
$ false && echo "failure"
$ true || echo "success"
$ false || echo "failure"
failure

Notez comment après false && echo "failure" et true || echo "success" rien n'est imprimé.

0
Volker Siegel