私は現在スクリプトを書く方法を学んでいるので、Unixコマンドの初心者です。しかし、実際に変数にアクセスする方法は理解できません。
name() という変数があるとしましょう$name
。時々、人々はusingを使用して直接アクセスします$name
が、他の人は${name}
またはを使用することがあります"$name"
。だから、これは非常に混乱しており、他のプログラミング言語で学んだのとは全く異なるので、違いが何であるかはわかりません。
$name="happy"
また、変数に文字列を割り当てようとするとき、$name=happy
または"$name=happy"
let を書く必要があります"$name=happy"
。
答え1
$fred
間に違いはありません${fred}
。これは、変数名の終わりの場所を表示する必要がある場合に必要です{}
。たとえば、echo ${end}ing
変数値end
の後に文字が続くものを印刷しing
、echo $ending
変数値を印刷しますending
。
回避するには、二重引用符を使用してください。噴射。経験的に変数を使用するたびに二重引用符で囲む必要があります。知る結果を単語に分割したい場合、または値が分割されないことがわかっている場合*(参照いつ二重引用符が必要ですか?)。
割り当て例の場合、$
どちらか一方にシンボルが表示されることは望ましくありません。
name="happy"
- これはあなたが使用する必要がありますname=happy
- "happy"は単語であり、インタラクティブに使用できるため動作しますが、スクリプトでは避けてください。"name=happy"
- 異常な名前でコマンドを実行しようとすると、name=happy
エラーが発生したことがほぼ確実です。let "name=happy"
let
- 独自のルールがあり、bashの算術に一般的に使用されるというコマンドを実行します。
脚注
*これはあまりにも単純化されたアプローチですが、覚えやすいです。バラより仕様コマンドの処理方法の詳細。