前に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進数を表すため、数値の合計は機能8
し9
ません。