Dalam bash
:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
Sepertinya mereka sama, tetapi mereka tidak memberikan jejak sistem yang sama:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
Saya mencoba diffing strace bash -c : 2>:.txt
dan strace bash -c true 2>true.txt
, tetapi tidak dapat menemukan perbedaan di antara mereka kecuali untuk lokasi memori.
Dalam dash
:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
OK, jadi mereka tidak sama. help :
dan help true
tidak terlalu berguna, dan mereka mengembalikan sama bash
dan dash
. Apakah ada perbedaan praktis sama sekali di antara mereka, kecuali yang :
menghemat tiga byte dan membuat skrip kurang dibaca?