シェルプログラミング temp=$1 および temp=1

シェルプログラミング temp=$1 および temp=1

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...は、コマンドラインから渡された引数(ある場合)を指す特別なケースです。

関連情報