Dans bash
:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
On dirait qu'ils sont identiques, mais ils ne donnent pas la même trace système:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
J'ai essayé de faire la différence strace bash -c : 2>:.txt
et strace bash -c true 2>true.txt
, mais je n'ai trouvé aucune différence entre eux, sauf pour les emplacements de mémoire.
Dans dash
:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
OK, donc ce n'est pas pareil. help :
et help true
ne sont pas très utiles, et ils retournent la même chose dans bash
et dash
. Y a-t-il une différence pratique entre eux, sauf qu'ils :
économisent trois octets et rendent les scripts moins lisibles?