true 是 Linux/Unix 系統(tǒng)中最簡單的命令之一,它是一個(gè)內(nèi)置命令,通常位于 /bin/true。這個(gè)命令的唯一功能就是立即成功退出,返回狀態(tài)碼 0(表示成功)。
命令語法
命令功能
-
返回成功狀態(tài):
true命令總是返回退出狀態(tài)碼 0,表示命令執(zhí)行成功 - 空操作:不執(zhí)行任何實(shí)際的操作,僅作為一個(gè)占位符或條件滿足的標(biāo)識
使用場景
1. 無限循環(huán)結(jié)構(gòu)
常用于創(chuàng)建無限循環(huán):
while true; do
echo "This will run forever until manually stopped"
sleep 1
done
2. 條件語句中的占位符
當(dāng)只需要檢查條件而不需要執(zhí)行操作時(shí):
if [ condition ]; then
true # 什么都不做,只是滿足語法要求
else
do_something
fi
3. 強(qiáng)制命令返回成功狀態(tài)
在需要確保某個(gè)命令序列最終返回成功狀態(tài)時(shí):
command_that_might_fail || true
4. 測試腳本結(jié)構(gòu)
在編寫或測試腳本時(shí)作為臨時(shí)占位符:
# TODO: 實(shí)現(xiàn)這個(gè)功能
true
相關(guān)命令
實(shí)現(xiàn)原理
在大多數(shù)系統(tǒng)中,true 是一個(gè)極簡的可執(zhí)行文件,通常只包含極少的匯編指令(如 exit(0))。有些 shell(如 bash)將其實(shí)現(xiàn)為內(nèi)置命令以提高效率。
注意事項(xiàng)
- 雖然
true和:功能相似,但:是 shell 內(nèi)置命令,而true通常是外部命令 - 在性能敏感的腳本中,使用
:可能比true更高效 - 在需要明確表達(dá)意圖時(shí),
true比:更具可讀性
版本差異
不同 Unix-like 系統(tǒng)中 true 的實(shí)現(xiàn)基本一致,沒有顯著的版本差異。