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?
/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é.