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スクリプトにローカル変数を追加するには?

答え1

2私はあなたのコードからそれを得ました。それにもかかわらず、どの変数や数字でも同じ手法を使用できます。

local start=1
(( start++ ))

または

(( ++start ))

または

(( start += 1 ))

または

(( start = start + 1 ))

そうでなければ

local start=1
echo $(( start + 1 ))

など。

答え2

努力する:

START2=$(( `getStart` + 1 ));

bashに算術演算を実行したいと通知する$(( ))バックティックは、bashに含まれている式(ユーザー定義関数か外部プログラムへの呼び出し)を評価し、stdoutの内容を返すように指示します。

答え3

これは安全な選択です

(( start = start + 1 ))

エラー終了を設定すると、結果の値がゼロでない場合、スクリプトは停止します。

set -e
start=0
(( start++ ))
echo You will never get here

関連情報