私は今日http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htmからシェルチュートリアルを読んでいます
それが言及している:
出力する文字列内に一重引用符が含まれる場合は、次のようにバックスラッシュ()を使用する前に文字列全体を一重引用符で囲まないでください。
echo 'It\'s Shell Programming'
私はこれをcentosサーバーで試しましたが、うまくいきません>
。もっと入力するように促すプロンプトが出ます。
2つの一重引用符がすべての特殊文字を通常の文字に変換するので、エスケープシンボルを含む\
が、それ自体を除外するので、
一重引用符で一重引用符を表現するに'
は
どうすればよいの'
だろうか?
@cuonglm、次のようなフレーズを使用する可能性があるため
—
Zen
echo Wow, I'm going to have lots of $$$$$$ now
そのため
—
-cuonglm
$
、二重引用符とエスケープも使用する必要があります。何かecho Wow, I\'m going to have lots of \$\$\$\$\$\$ now
またはちょうどecho Wow, I\'m going to have lots of '$$$$$$' now
@cuonglm、はい、私はそれを行うことができます。しかし、私が読んでいるチュートリアルは、単一引用符で囲まれたフレーズの中に単一引用符をエスケープする方法があると確信していますが、与えられたチュートリアルの例は機能しません。だから誰かが解決策を知っているのではないかと思っています。
—
禅
これはどう?
—
jcbermu
echo 'It'"'"'s Shell Programming'
。最初と最後を一重引用符で囲んだ3つの文字列として分割しますが、真ん中の文字列は二重引用符で囲まれた一重引用符を持っています。
echo It\'s Shell Programming
またはを使用しないのはなぜecho "It's Shell Programming"
ですか?