temp=$1
これらとそしての違いは何ですかtemp=1
?ドル記号が必要なのはなぜですか?
たとえば、
#!/bin/bash
temp=$1
cell=$((($temp-32)*5/9))
echo $cell
答え1
ドル記号トリガーパラメータ拡張;1
は文字列ですが、"1"
最初のシェルパラメータです。$1
答え2
[何を除いてルアッハすでに言及しました]
スクリプトは、温度値を華氏から摂氏に変換しようとします。たとえば、ファイルを名前で保存できますtocelsius.sh
。これで、スクリプトに値を渡すことで、与えられた温度(華氏単位)を変換できます。
bash tocelsius.sh 66
これには$1
値66が含まれます。したがって、対応する出力を得ることができる。
ただし、を書くと、temp=1
変数はtemp
常に固定値1を使用します。上記のスクリプトに渡されたすべてのパラメータは考慮されません。
まとめて$xyz
指摘すると値変数xyz
。$1
、、$2
...は、コマンドラインから渡された引数(ある場合)を指す特別なケースです。