इन bash:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
ऐसा लगता है कि वे समान हैं, लेकिन वे समान सिस्टम ट्रेस नहीं देते हैं:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
मैंने अलग करने की कोशिश की strace bash -c : 2>:.txtऔर strace bash -c true 2>true.txt, लेकिन स्मृति स्थानों को छोड़कर उनके बीच कोई अंतर नहीं पाया।
इन dash:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
ठीक है, इसलिए वे समान नहीं हैं। help :और help trueबहुत उपयोगी नहीं हैं, और वे में एक ही लौटने bashऔर dash। क्या उन सभी के बीच कोई व्यावहारिक अंतर है, सिवाय इसके कि :तीन बाइट्स बचाता है और स्क्रिप्ट को कम पठनीय बनाता है?