ここに質問があります:
シェルがコマンドラインを読み取っているとき、二重引用符( ")で囲まれたテキストと一重引用符(')で囲まれたテキストの違いは何ですか?
環境変数があり、環境変数がない2つのケースを考慮する必要があります。
違いがわからないようですが、どちらの場合も同じように使われています。
私はハードクォートとソフトクォートについて少し理解していますが、これは私を投げました。
ここに質問があります:
シェルがコマンドラインを読み取っているとき、二重引用符( ")で囲まれたテキストと一重引用符(')で囲まれたテキストの違いは何ですか?
環境変数があり、環境変数がない2つのケースを考慮する必要があります。
違いがわからないようですが、どちらの場合も同じように使われています。
私はハードクォートとソフトクォートについて少し理解していますが、これは私を投げました。
シェル変数値を抽出できる場合は、通常、二重引用符が使用されます。例:
my_name="prabhu"
echo "printing $my_name"
出力:prabhuの印刷
一重引用符は変数の値を出力せず、代わりに指定されたコンテンツを出力します。例:
my_name="prabhu"
echo 'printing $my_name'
出力:$my_nameを出力します
質問の言い回しは不十分です。これは一般的に変数を参照しているようであり、「シェル変数」と「環境変数」(つまり、子プロセスへのエクスポート用にマークされたシェル変数)を区別しようとはしていません。これが当てはまる場合、もちろん、正解は、二重引用符で囲まれた文字列はパラメータ拡張を許可しますが、一重引用符で囲まれた文字列は許可しないということです。