シェルスクリプトの変数にアクセスするさまざまな方法

シェルスクリプトの変数にアクセスするさまざまな方法

私は現在スクリプトを書く方法を学んでいるので、Unixコマンドの初心者です。しかし、実際に変数にアクセスする方法は理解できません。

name() という変数があるとしましょう$name。時々、人々はusingを使用して直接アクセスします$nameが、他の人は${name}またはを使用することがあります"$name"。だから、これは非常に混乱しており、他のプログラミング言語で学んだのとは全く異なるので、違いが何であるかはわかりません。

$name="happy"また、変数に文字列を割り当てようとするとき、$name=happyまたは"$name=happy"let を書く必要があります"$name=happy"

ベストアンサー1

$fred間に違いはありません${fred}。これは、変数名の終わりの場所を表示する必要がある場合に必要です{}。たとえば、echo ${end}ing変数値endの後に文字が続くものを印刷しingecho $ending変数値を印刷しますending

回避するには、二重引用符を使用してください。噴射。経験的に変数を使用するたびに二重引用符で囲む必要があります。知る結果を単語に分割したい場合、または値が分割されないことがわかっている場合*(参照いつ二重引用符が必要ですか?)。

割り当て例の場合、$どちらか一方にシンボルが表示されることは望ましくありません。

  1. name="happy"- これはあなたが使用する必要があります
  2. name=happy- "happy"は単語であり、インタラクティブに使用できるため動作しますが、スクリプトでは避けてください。
  3. "name=happy"- 異常な名前でコマンドを実行しようとすると、name=happyエラーが発生したことがほぼ確実です。
  4. let "name=happy"let- 独自のルールがあり、bashの算術に一般的に使用されるというコマンドを実行します。

脚注

*これはあまりにも単純化されたアプローチですが、覚えやすいです。バラより仕様コマンドの処理方法の詳細。

おすすめ記事