これはから抜粋したものです。バッシュマニュアル:
以前のスタイルの逆引用符の代替形式を使用する場合、バックスラッシュは後ろに
$
、`
または来ない限り文字通りの意味を維持します。\
しかし、バックティックは、次のコマンドの出力で提案するのと同じ方法で$
andを処理します。\$
Command Output
echo '$PWD' $PWD
echo '\$PWD' \$PWD
答え1
私もstackexchangeとLinuxに初めて触れました。よろしくお願いします。
両側とも歓迎します!
あなたの例にはバックティックがなく、一重引用符です。''
バックティックは次のとおりです。``
また、私はあなたに簡単に提案します使用しないでください(バックティックです)!コマンドの置き換えには、次の構文を使用するのが最善です。$(<command>)
なぜそうなのか探せここ。
楽しいハックになろう!
答え2
誤解があると思います。 bashマニュアルの作成者がリテラル値として意味するのは、一般ユーザーである私たちが理解できるものとは異なります。また、2つが機能します。まず、バックティックはコマンドの置き換えに使用され、2番目は「バックスラッシュの文字通りの意味」です。最後のものから始めましょう。
BashマニュアルのQUOTINGセクションを引用すると、次のようになります。
A non-quoted backslash (\) is the escape character.
It preserves the literal value of the next character that
follows, with the exception of <newline>.
何ですかいいえ著者が実際のバックスラッシュ、つまりテキストについて話していることは明らかです。単一のバックスラッシュ自体はエスケープ文字を表しますが、提供されたリンクでは二重バックスラッシュについて説明します。確認してください:
bash-4.3$ var=`echo \ `
bash-4.3$ echo $var
bash-4.3$ var=`echo \\ `
bash-4.3$ echo $var
bash-4.3$ var=`echo \\$ `
bash-4.3$ echo $var
$
bash-4.3$ var=`echo \\\ `
bash-4.3$ echo $var
\
わかりにくいですが、こう考えてみてください。まず、エスケープ文字をエスケープする必要があります。