İçinde bash:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
Aynı oldukları anlaşılıyor, ancak aynı sistem izini vermiyorlar:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
Fark etmeyi denedim strace bash -c : 2>:.txtve strace bash -c true 2>true.txtaralarında bellek konumları dışında herhangi bir fark bulamadım.
İçinde dash:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
Tamam, bu yüzden aynı değiller. help :ve help trueçok kullanışlı değiller ve aynı şeyi bashve içinde döndürürler dash. :Üç bayt kaydetmesi ve komut dosyalarını daha az okunabilir hale getirmesi dışında, aralarında herhangi bir pratik fark var mı ?