Trong bash
:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
Có vẻ như chúng giống nhau, nhưng chúng không đưa ra dấu vết hệ thống giống nhau:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
Tôi đã thử tìm khác biệt strace bash -c : 2>:.txt
và strace bash -c true 2>true.txt
, nhưng không thể tìm thấy bất kỳ sự khác biệt nào giữa chúng ngoại trừ các vị trí bộ nhớ.
Trong dash
:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
OK, vì vậy chúng không giống nhau. help :
và help true
không hữu ích lắm, và chúng cũng trả lại như vậy trong bash
và dash
. Có sự khác biệt thực tế nào giữa chúng không, ngoại trừ việc :
tiết kiệm ba byte và làm cho các tập lệnh ít đọc hơn?