我想在我的bash腳本擊而進行數值計算
#!/bin/bash
set -x
# Copy merchant files
set -o pipefail -o errexit
a=0
b=0
c=$(expr $a + $b)
if [[ $(expr $c) -lt 10 ]]; then
echo true
fi
預期這從來沒有真正打印執行以下邏輯退出。產生的輸出是:
++ set -o pipefail -o errexit
++ a=0
++ b=0
+++ expr 0 + 0
++ c=0
而且上述邏輯不工作時A和B兩者都爲0,如果任何一個是非零它工作正常。如果我修改我的邏輯和,而不是計算C使用EXPR直接在它是否工作正常,如預期無關的價值和b打印真正
#!/bin/bash
set -x
# Copy merchant files
set -o pipefail -o errexit
a=0
b=0
if [[ $(expr $a + $b) -lt 10 ]]; then
echo true
fi
是否有人可以給我解釋一下什麼是錯與第一一段代碼。
這不是「崩潰」,它是「退出」。 – tripleee 2014-10-02 06:43:38
爲什麼你用expr來算術? 'c = $((a + b))'和'if [[$ c -lt 10]]'可以正常工作。 – chepner 2014-10-02 14:11:53