
Linuxのbashには次のものがあります。
some_variable= ls *somepattern* | xargs cat | wc -c
たとえば、次のように特定の金額を掛けたいとします。
another_variable = $(($some_variable * 10))
しかし、エラーが発生しました。
-bash: * 100: syntax error: operand expected (error token is "* 100")
some_variable
なぜ掛けてはいけませんかwc
?
答え1
あなたは乗算を得ず、実際にはそこに変数を割り当てません。周囲にスペースがあってはいけません=
。以下が必要です。
some_variable=some_value
次に変数を代入するには出力コマンドの場合は、コマンド置換を使用する必要があります。
some_variable=$(some_command)
またはまだサポートされているが廃止予定のバックティック:
some_variable=`some_command`
したがって、必要なものは次のとおりです。
some_variable=$(ls *somepattern* | xargs cat | wc -c)
しかし、これを行う方が良いです:
some_variable=$(cat *somepattern* | wc -c)
これがあれば、次のことができます。
another_variable=$(($some_variable * 10))
最後に、エラーの原因は、最初の部分で説明したように変数が空であり、最終的に次のように実行されることです。
$ another_variable = $(( * 10))
bash: * 10: syntax error: operand expected (error token is "* 10")