我試圖運行一個bash腳本,但由於某種原因,這部分輸出給了我一個錯誤。Linux語法錯誤
TIER1PCT=$[ $TIER1COUNT * 100/$TOTAL ] TIER2PCT=$[ $TIER2COUNT * 100/$TOTAL ] TIER3PCT=$[ $TIER3COUNT * 100/$TOTAL ]
我收到此錯誤::syntax error: operand expected (error token is "/ ")
我試圖運行一個bash腳本,但由於某種原因,這部分輸出給了我一個錯誤。Linux語法錯誤
TIER1PCT=$[ $TIER1COUNT * 100/$TOTAL ] TIER2PCT=$[ $TIER2COUNT * 100/$TOTAL ] TIER3PCT=$[ $TIER3COUNT * 100/$TOTAL ]
我收到此錯誤::syntax error: operand expected (error token is "/ ")
試試這個;
TOTAL=$(cat $NEWUSERSFILE | wc -l)
if [ -n "$TOTAL" ]; then
TIER1PCT=$[ $TIER1COUNT * 100/$TOTAL ]
TIER2PCT=$[ $TIER2COUNT * 100/$TOTAL ]
TIER3PCT=$[ $TIER3COUNT * 100/$TOTAL ]
else
echo $TOTAL is null
fi
我收到的輸出是'wc:invalid選項 - '1'嘗試'wc --help'以獲取更多信息。是空的「Tier 1」,「22」,「%」「Tier 2」,「15」,「%」「Tier 3」,「13」,「%」' –
wc -1 option is not exist,not wc -1,嘗試wc -l來計數,我更新了ans。也許這可以幫助你 –
這工作,這是一個「l」,而不是「1」我所使用的解決方案是錯誤的。謝謝! –
既不存在bash或POSIX語法,允許:
$[ integer expression ]
假設你要分配的計算的整數結果,正確的POSIX語法爲:
TIER1PCT=$((TIER1COUNT * 100/TOTAL))
TIER2PCT=$((TIER2COUNT * 100/TOTAL))
TIER3PCT=$((TIER3COUNT * 100/TOTAL))
整數運算的其他選擇與let
或expr
。 (請注意不同的空格各自的要求)
我假設變量'$ TOTAL'不包含任何值。 – Cyrus
值爲'TOTAL = $(cat $ NEWUSERSFILE | wc -1)' –
這可能有助於:[如何調試bash腳本?](http://unix.stackexchange.com/q/155551/74329) – Cyrus