同じ質問からの回答で配列を減算しようとしましたが、動作しませんでした。Bashで減算配列が機能していない
res=((${arr_new_file[$i]}-${arr_old_file[$i]}))
私は本当にそれを取得しません。常に以下のようになります。
syntax error: operand expected (error token is "-")
同じ質問からの回答で配列を減算しようとしましたが、動作しませんでした。Bashで減算配列が機能していない
res=((${arr_new_file[$i]}-${arr_old_file[$i]}))
私は本当にそれを取得しません。常に以下のようになります。
syntax error: operand expected (error token is "-")
算術置換前に$を入れるのを忘れました。
res=$((${arr_new_file[$i]}-${arr_old_file[$i]}))
可愛いライン:
let res=arr_new_file[$i]-arr_old_file[$i]
どちらかそれはhedgar2017をlikgeんが言ったか、私が読み少し簡単に検討する
((res=arr_new_file[$i]-arr_old_file[$i]))
としてそれを書きます。
res = arr_new_file [$ i] -arr_old_file [$ i]を読みやすくすることができます。 – hedgar2017
私は個人的に 'let'をあまり好きではありません - ' let a = 5 b = xc = -1'のような単純な言葉で複数の代入を書くことを除いては、式が複雑になればなるほど、読みやすくするために空白を挿入する可能性が高くなります。もちろん、この場合は 'let'を使うのが良い選択です。 – user1934428
* 'bash' *でこれを実行していますか? '/ bin/sh'ではなく'/bin/bash'を意味しますか?はいの場合、あなたのbash版は何ですか? – hek2mgl
@ hek2mglはい/ bin/bashにあります とその:GNU bash、バージョン4.1.2(1)-release(x86_64-redhat-linux-gnu) –
私は使用する以外は何もエラーはありません'(())の代わりに' $(()) 'を使います。 'arr_new_file'と' arr_old_file'は正しく定義されていますか?私は 'arr_old_file'が' bash'環境の中で定義されていないときだけあなたのエラーを再現することができました。 –