web-dev-qa-db-ja.com

シェルの二重引用符と単一引用符の良いニーモニックは何ですか?

二重引用符でも単一引用符でもUnix変数が置換されるかどうかを調べずに覚えるだけのスクリプトはありません。

私は間違いなく理解していますとは続く。私の質問は、私の頭に正しい引用ルールを付けるためのメモリトリックを持っている人はいますか?

43
Dave Potts

Single引用符はsimple引用符で囲み、single標準を使用します。すべての文字はリテラルです。
Double引用符にはdouble標準があります。一部の文字はリテラルで、他の文字はその前にバックスラッシュがない限り解釈されます。

Single引用符は単独で機能します。単一引用符内のバックスラッシュは特別ではありません。
Double引用符はバックスラッシュとペアになります:二重引用符内のバックスラッシュは次の文字を特殊ではありません。

「ダブル、ダブルの苦労とトラブル。
ドルは燃え、泡を逆引用します。 "

対照的に、シングルは無害です。

5
user257609

二重引用符(")はweak quotes-です。2つ必要です。そのため、これらはペアになり、変数は番号に関係なくそれらを突き抜けます。

単一引用符(')はstrong引用符です。これらは1つずつあり、変数は一致しません。

4
DopeGhoti

二重引用符は楽しみを2倍にします
パラメータを1つずつ展開します。

2
gboffi

目的は単数です
単一の引用。

内の文字をリテラルとして扱います
彼らがどのように混じっても関係ありません。

(T 'は知っておくべき小さなルールの1つです
単一引用符内?立ち入り禁止!)


二重であるそれらの引用があります
一部の文字が問題になる可能性がある場所
ドル、バックティック、バックスラッシュ
バッシュによって特別に扱われる
ただし、エスケープすると、そのバブルが破裂します。

1
B Layer

二重引用符(")は、発言内容を正確に意味するものではありません。たとえば、"quality" equipmentと言うツールは、おそらくその逆です。

単一引用符(')は強い引用符であり、それらの間にあるのは正確に見えるものです。

1
Pelle

1つ:冬、そのまま
2つ:夏、変容
禁止または許可

0
drl