[英]UNIX shell: increment a variable with value of last returned exit code
假設我有一個由counter=0
初始化的counter=0
現在,我想運行一個命令,並通過返回的退出代碼增加counter的值。
我想用自然語言做counter = $counter + $?
我正在嘗試類似counter=$((counter+$((?))));
但沒有成功。 一行完成的正確方法是什么?
建議使用bash:
counter=$(($counter + $?))
這也是可能的:
counter=$((counter + $?))
要么:
declare -i counter=0 # set integer attribute
<your command>
counter=counter+$?
要么:
declare -i counter=0
<your command>
counter=+$?
您可以分配$?
的值$?
到中間變量,然后使用算術上下文添加:
設置$?
至22:
$ awk 'BEGIN {exit 22}'
$ rtr=$?
$ counter=1
$ echo $((counter+rtr))
23
在UNIX中,您可以嘗試:counter = 1; counter = expr $counter + 1
; echo $ counter;
注意: expr $counter + 1
的'+'兩側都有空格
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.