linux返回真是什么-true 命令使用與實例

linux返回真是什么-true 命令使用與實例

linux 中的 true 命令


true 命令簡介

true 是 Linux 和 unix 系統中的一個基礎命令,其主要作用是始終返回成功狀態(退出碼為 0)

雖然這個命令看起來功能單一,但在 shell 腳本開發中卻有不可忽視的作用。它相當于一個“無操作但總是成功”的工具


基本用法

示例

true [–help] [–version]

參數說明

參數 作用
–help 顯示幫助內容后退出
–version 輸出版本信息并結束

執行機制

true 的運行過程非常直接:

  1. 在終端輸入 true 并按下回車鍵
  2. 系統開始執行該命令
  3. 不進行任何實際操作
  4. 返回狀態碼 0 表明執行成功

常見用途

1. 構建無限循環

示例

while true; do
echo “這是一個無限循環”
sleep 1
done
在上述腳本中,while true 創建了一個不會終止的循環,因為 true 永遠返回成功狀態(0),因此循環條件一直成立。

2. 作為默認的成功行為

示例

command || true
這種寫法表示:若 command 執行失敗,則運行 true(確保整體結果為成功)。

3. 在腳本中充當占位符

示例

if [ condition ]; then
: # 不執行任何操作
else
true # 同樣可以用來表示空操作
fi
在這里,true 被用作一個不執行具體動作但保持邏輯結構清晰的替代方案。


與 false 命令的比較

系統中還有一個相對應的命令 false,它的作用是始終返回失敗狀態(1)。兩者的主要區別如下:

命令 作用 退出碼 典型場景
true 無操作,返回成功 0 構建無限循環、忽略錯誤
false 無操作,返回失敗 1 測試異常處理、判斷邏輯

底層實現

大多數 Linux 發行版中,true 是 shell 內置命令之一,但通常也存在獨立的可執行文件版本:

示例

$ type -a true
true is a shell builtin
true is /usr/bin/true
true is /bin/true
其實現非常簡潔,在 C 語言中大致可以這樣表示:

示例

int main() {
return 0;
}

動手實驗

嘗試在終端直接運行 true 并查看其退出碼:

示例

true
echo $? # 輸出應為 0
編寫一個每隔五秒顯示當前時間的腳本:

示例

#!/bin/bash
while true; do
date
sleep 5
done
驗證 true 在條件語句中的表現:

示例

if true; then
echo “這總是會被執行”
fi

常見疑問解答

Q: true 是否真的不做任何事情?A: 是的,它除了返回成功狀態外,不會執行其他任何操作。

Q: 為什么需要這樣一個看似沒用的命令?A: 在腳本開發中,我們有時需要一個始終成功的操作來滿足特定邏輯,true 就是用來完成這一任務的理想選擇。

Q: true 和冒號(:)有什么不同?A: 在多數 shell 中,: 也是一個空操作命令,行為上和 true 類似。不過 : 僅是 shell 內置命令,而 true 可能同時存在于二進制路徑中。


要點總結

盡管 true 命令很簡單,但它在 shell 編程中是一個不可或缺的工具。其主要特征包括:

  • 始終返回成功狀態(退出碼為 0)
  • 不執行任何具體操作
  • 多用于構建無限循環、處理錯誤及代碼占位

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享