私が知っている唯一の計算機はbc
です。変数に1
を追加し、別の変数に出力したい。
ファイル内の文字列をカウントしてnextnum
変数を取得しました。
nextnum=`grep -o stringtocount file.tpl.php | wc -w`
nextnum
値が1
であるとしましょう。 1
で追加すると、2
になります。計算するには、次を実行します。
rownum=`$nextnum+1 | bc`
エラーが発生しました:
1+1: command not found
計算に失敗しました。バックティックを変更しようとしましたが、まだ機能しません。変数を計算して別の変数に出力する方法がわかりません。
_` `
_内の部分文字列は、それ自体が有効なコマンドである必要があります。
_rownum=`echo $nextnum+1 | bc`
_
ただし、_` `
_ではなく$( )
を使用することをお勧めします。
_rownum=$(echo $nextnum+1 | bc)
_
ただし、bc
は必要ありません。シェルはinteger演算を実行できます。
_rownum=$((nextnum+1))
_
または、bash
とksh
をさらに単純化します。
_((rownum=nextnum+1))
_
Bashの組み込み算術を使用することもできます。
rownum=$((nextnum+1))
少し速くなります。
Bourne-Shellのみが利用可能であった以前の時代に行わなければならない方法に言及するだけで、提案された解決策を完全に正しく完了します。それが好きな方法です。
rownum=`expr $nextnum + 1`
私は(前述のように)rownum=$((nextnum+1))
または((rownum=nextnum+1))
を使用しますが、let rownum=$nextnum+1
などの標準コマンドを使用する場合は、letコマンドを使用できます。