ใน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มีความแตกต่างในทางปฏิบัติระหว่างพวกเขายกเว้นว่า:จะบันทึกสามไบต์และทำให้สคริปต์อ่านน้อยลง?