``コマンド置換の使用

``コマンド置換の使用

これはから抜粋したものです。バッシュマニュアル:

以前のスタイルの逆引用符の代替形式を使用する場合、バックスラッシュは後ろに$`または来ない限り文字通りの意味を維持します。\

しかし、バックティックは、次のコマンドの出力で提案するのと同じ方法で$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
\

わかりにくいですが、こう考えてみてください。まず、エスケープ文字をエスケープする必要があります。

関連情報