私はこのように私のbashコードを持っている:バッシュ化合物/ネストされた条件演算子の問題
copiedFlag=false
..
if [...]
cp originalFile newFile && copiedFlag=true
fi
..
if[....]
copiedFlag || (cp originalFile newFile && copiedFlag=true)
fi
..
if [ copiedFlag == true ]; then
cp newFile originalFile
fi
..
複合条件copiedFlag || (cp originalFile newFile && copiedFlag=true)
は何とか動作しません。
しかし、私はこれを行う場合は、それが動作します: copiedFlag || cp originalFile newFile && copiedFlag=true
これは私のロジックの重要なステップである、したがって、私は私の割り当ては、中括弧で囲むことで絶対的に正しいことを確認します。なぜこれは機能しませんか?私は間違って何をしていますか?
: '$ copiedFlag || (cp originalFile newFile && copiedFlag = true) ' – Leon
代入の外のどこでも' copiedFlag'を参照解除/展開しなければなりません。したがって 'if [$ copiedFlag == true]; then ... ... ' – Leon