Bash

Unix中的測試命令不列印輸出

  • April 3, 2020

當我在終端中輸入這個

test 4 -lt 6

我沒有得到任何輸出。為什麼不?我需要那個 0 或 1

你得到 0 或 1。在退出程式碼中。

bash-4.2$ test 4 -lt 6

bash-4.2$ echo $?
0

bash-4.2$ test 4 -gt 6

bash-4.2$ echo $?
1

更新:要儲存退出程式碼供以後使用,只需將其分配給一個變數:

bash-4.2$ test 4 -lt 6

bash-4.2$ first=$?

bash-4.2$ test 4 -gt 6

bash-4.2$ second=$?

bash-4.2$ echo "first test gave $first and the second $second"
first test gave 0 and the second 1

另一種方法是

test 4 -lt 6 && echo 1 || echo 0

但在這種情況下要小心。如果test返回成功和echo 1失敗echo 0將被執行。

引用自:https://unix.stackexchange.com/questions/50558