簡體   English   中英

UNIX Shell:使用最后返回的退出代碼的值遞增變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM