Bash

如何在 Bash 中增加局部變數?

  • February 3, 2021

數據

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 的內容。

引用自:https://unix.stackexchange.com/questions/229049