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>:.txtet 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 truene sont pas très utiles, et ils retournent la même chose dans bashet dash. Y a-t-il une différence pratique entre eux, sauf qu'ils :économisent trois octets et rendent les scripts moins lisibles?