シェルのダブルクォートとシングルクォートの違いは何ですか?
1. 例
シェルは、文字列を二重引用符や一重引用符で囲んだり、引用符を使わずに文字列変数を定義するためによく使われます。以下にその例を示します。
str1="testString" //double quotes
str2='testString' //single quotes
str3=testString //without quotes
文字列変数の定義には、ダブルクォート、シングルクォート、クォートなしの3つの方法があるんですね。この3つの方法の違いは何でしょうか?また、シングルクォートとダブルクォートの違いは何でしょうか?
2. シングルクォート
シングルクォートは、文字列のWYSIWYGを定義します。つまり、シングルクォートの中にあるものはそのまま出力され、シングルクォートの中に見えるものは何でも出力されると表現します。シングルクォートはフルクォートであり、シングルクォートで囲まれたものは定数であろうと変数であろうと置換されます。
var=dablelv
echo '$var'
出力します。
$var
3. 二重引用符
二重引用符で囲まれた参照では、見えるものは見えません。コンテンツにコマンドや変数などがある場合、まず変数やコマンドが解析され、最終的なコンテンツが出力されます。二重引用符は部分引用符で、二重引用符で囲まれた内容は定数のままですが、変数は変数の内容に置き換えられます。
var=dablelv
echo '$var'
出力します。
ダブリュー
4. 引用禁止
引用符なしで文字列を定義する場合、文字列には空白文字(スペースやタブなど)を含めることができないため、引用符で囲む必要があります。一般に、連続した文字列、数値、パスなどは引用符で囲まないでかまいません。コンテンツにコマンドや変数などがある場合、まず変数やコマンドが解析され、最終的なコンテンツが出力されます。
str1="test String"
str2='test String'
str3=test String
echo $str1
echo $str2
echo $str3
出力します。
テスト文字列
テスト文字列
このように、引用符で囲まれていないスペースを含む文字列は、正しく出力されません。
5. 推奨事項
文字列定数はシングルクォートで囲みます。文字列に変数やコマンドなどが含まれる場合はダブルクォートを使用し、クォートしないでおくことはお勧めしません。
以上、シェルのダブルクォートとシングルクォートの違いについて詳しく説明しましたが、シェルのダブルクォートとシングルクォートについては、スクリプトハウスの他の関連記事にも目を通してみてください
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン