私はshスクリプトに慣れていないのでこの質問を書いていますが、次の行は/ bin/bashで動作しますが、/ bin/shを使う必要があります。以下のコードは次のとおりです。shスクリプトが関数内のグローバル変数にアクセスする
#!/bin/sh
trythis=1
test()
{
((trythis++))
echo $trythis
}
test
私は出力として2を期待する代わりに、私は次のエラーを取得:
./test: 7: ./test: trythis++: not found
1
'#!/ bin/sh'の代わりに'#!/ bin/bash'を使用してください。 – anubhava
問題はBash構文 ' trythis ++)) 'であり、変数自体ではありません。 @anubhavaが指摘しているように、bashismを使用する場合はBashを使用してください。 – fedorqui