単一および二重引用符のシェルとの違い

従来の文字列変数の値は等号の後に二重引用符なしスペースを定義する必要があり、それは強力な参照が単一引用符が必要とされる必要があり、抗引用されたコマンドの使用を必要とします。

 

単一引用符は:代わりに内部の単一引用符が強い参照になった出力にものを見るためにように説明、WYSIWYGとして、つまり、すべてのコンテンツの出力は、単一引用符内になるときに出力されます。

二重引用符:すべてのコンテンツの出力は二重引用符;と呼ばれる最初の変数は、コマンドは、エスケープ文字の結果を解析しますコンテンツ、変数、特殊なエスケープ、その後、出力最終コンテンツ、(抗引用のための)コマンドがある場合弱いリード。

バッククォート:一般的なコマンド、実行されたコマンドが実行され、$(に相当)、および抗引用符に使用する出力を割り当てます。

[ルート@ localhostの〜]#の時間 = 日付
[ルート@ localhostの〜]#は、エコー $ 時間
日付を
[ルート@ localhostの〜]#の時間 = ` DATE ` 
[ルート@ localhostの〜]#は、エコー $ 時間
2019インディアン08越01日(木)081411 CSTを
[ルート@ localhostの〜]#の時間 = " ` date` " 
[ルート@ localhostの〜]#は、エコー $ 時間に
2019年08月01日星期四082115 CST 
[ルート@ localhostの〜]#の時間 = " `date`を
[ルート@ localhostの〜]#は、エコー $ 時間を
`  `
[ルート@ localhostの〜]#のエコーの$ PATH
は/ usr / local / sbinに:は/ usr / local / binにします。/ usr / sbinにします。/ usr / binに:/ルート/ binに
[ルート@ localhostの〜]#はエコー`$ PATH`を
 -bash:は/ usr / local / sbinに:は/ usr / local / binにします。/ usr / sbinにします。/ usr / binに:/ルート/ binに:没有那个文件或目录

[ルート@ localhostの〜]#はエコー " の$ PATH " 
/ USR /ローカル/ sbinに:は/ usr / local / binにします。/ usr / sbinにします。/ usr / binに:/ルート/ binに
[ルート@ localhostの〜]#のエコー ' の$ PATH ' 
$ PATH
[ルート@ localhostの〜]#時間 = " 北京は今です:` date` " 
[ルート@ localhostの〜]#は、エコー $ 時間は
:8月1日、木曜日に2019年、今北京で082425 CST 
[ルート@ localhostの〜]#時間 = ' 北京は今ある:前の`でdate` ' 
[ルート@ localhostのは〜]#は、エコー $ 時間
北京は今さ:` DATEを `
[ルート@ localhostの〜]#時間 = " 北京は今:\ b`date` " 
[ルート@ localhostの〜]#は、エコー $ 時間は
:\ B 2019萬年08木曜日01 Riを今GMTで082519 CST
[ルート@ localhostの〜]#時間 = ' 北京は今、次のとおりです。前の`でdate` ' 
[ルート@ localhostが〜]#は、エコー $ 時間
北京をされる今:` DATE `
実際には、電子のエスケープ文字を解決することができますシェルパラメータでエコー、それが引用され、二重または単一のプライマーの場合に解決することができます。
-e以下のバックスラッシュの解釈を有効

[ルート@ localhostの〜]#時間 = 我々は、すべての\ nの少年です [ルート@ localhostの〜]#エコー -e $ 時間 我々はすべてある 良い子供 [ルート@ localhostのを〜]#時間 = ' 我々は、n個の少年を\している' [localhostのルート@〜]#エコー -e $ 時間 、我々はすべてある 良い子ども

「の代わりに」定義されたエスケープ文字「シェルインタプリタを逃れることができ、さらに明確にする必要がある、コードを使用することをお勧めします」。

おすすめ

転載: www.cnblogs.com/anttech/p/11247423.html