İç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>:.txt
ve strace bash -c true 2>true.txt
araları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 bash
ve 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ı ?