Bash
如何在 Bash 中增加局部變數?
數據
1 \begin{document} 3
程式碼
#!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2
它返回
2
但我想要3
。我通過這個關於如何在 bash 腳本中添加數字的答案未成功更改結尾:START2=$((getStart+1))
如何在 Bash 腳本中增加局部變數?
我
2
從你的程式碼中得到。不過,您可以對任何變數或數字使用相同的技術:local start=1 (( start++ ))
或者
(( ++start ))
或者
(( start += 1 ))
或者
(( start = start + 1 ))
要不就
local start=1 echo $(( start + 1 ))
等等
嘗試:
START2=$(( `getStart` + 1 ));
告訴 bash 它將執行算術運算,而
$(( ))
反引號告訴 bash 評估包含表達式,無論是使用者定義的函式還是對外部程序的呼叫,並返回 stdout 的內容。