変数をgrepして1を追加します。

変数をgrepして1を追加します。

前に0を含む変数がありますが、この変数と同じ変数に1を加えた値をgrepしたいと思います。何度も試しましたが、エラーが発生しました。これが私がしたいことです:

read var
newvar=$(($var +1))
grep '$var' /some/dir
grep '$newvar' /some/dir

私のコードに何か問題があると思います。私も次のようないくつかのテストを試しました。

#!/bin/bash
echo "enter number"
read number
newnumber=$(($number + 1))
echo "$newnumber"

これでエラーが発生しましたvalue too great for base (error token is。私がこうすれば:

 #!/bin/bash
echo "enter number"
read number
number=""
newnumber=$(($number + 1))
echo "$newnumber"

これにより常に1が出力されます。

私の試みには何の問題があり、私がしたいことをどのようにすることができますか?

ベストアンサー1

無効な引用符を使用しています。一重引用符は''式(および以前の形式)の拡張を防ぎます。代わりに二重引用符を使用してください。この場合、数字であると確信している場合は必要ありません。$$var$(command)`command`""どの引用符。

2番目の質問には...前に0を使用しますか?これは8進数を表すため、数値の合計は機能89ません。

おすすめ記事