1

変数aの値を42と仮定します。

b=18+$a
The value of b should be 60

しかし、値60を取得していません。代わりに、18+42を出力しています。どうすればいいですか?

新しいクエリ:

grep -F "$name" -A1000 filename | sed -n '1p;19p;24p'

a = 10、b = 20、c = 30と仮定します。上記のgrepコマンドで、「1p;19p;24p」の代わりに「$ap;$ bp; $ cp」を使用できますか?

もう一つ、私は-A1000として与えました。これは、1pから開始して、1000行までを考慮することを意味します。番号を指定せずにファイル全体を検索する必要があります。ホー

4

2 に答える 2

6

バッシュ:

b=$((18+a))
echo "value of b is $b"

また

let b=18+a
echo "value of b is $b"
于 2012-06-05T10:25:35.683 に答える
1

Bashでの数学演算には、$(())の使用が含まれます。

だから、追加のために、あなたはするでしょう:-

b=$((18 + a))

aの前の「$」は必須ではないことに注意してください。Bashでの数学演算のその他の例は次のとおりです:-

a=$((17+1))
b=$((100-a))
c=$((a*b))
d=$((c/b))
echo $((10 * 1024 * 1024)) # Echoes the number bytes in 10 MB
于 2012-06-05T10:33:52.573 に答える