web-dev-qa-db-ja.com

エイリアスを使用してbashでバックティックをエコーする

これが他の場所で答えられた場合、申し訳ありませんが、私は私の特定のケースの解決策を見つけることができませんでした。これは私が認める少し奇妙なことです。 (注:この投稿のすべての「使用中」の単語は、何らかの理由で青色で表示されますが、そうではないはずであり、それを防ぐ方法がわかりません)。

MacOSではbashを使用しています。 .bashrcにいくつかのエイリアスがあり、コマンドを覚えたり、誰かに例をすばやく表示したりするのに役立つものをターミナルウィンドウに出力します(以下のコードでは、コマンドラインでエイリアスを作成していますが、実際には常にエイリアスを.bashrcに入れます):

556 ~ alias howtotensorboard="echo tensorboard --logdir=logs/ --port=6001"
557 ~ howtotensorboard
tensorboard --logdir=logs/ --port=6001

コマンドラインでechoを使用する場合、バッククォートの前にバックスラッシュを付けると、ウィンドウにバッククォートを印刷できます。

559 ~ echo Using \`which python\` etc
Using `which python` etc

しかし、エイリアスで同じことを行うと、ウィンドウに出力する代わりに、実際には `whichpython`が実行されます。

560 ~ alias howtobacktick="echo Using \`which python\` etc"
561 ~ howtobacktick
Using /usr/bin/python etc

TL; DR、私が欲しいのは、echoを使用してバッククォートを出力するエイリアスを.bashrcに配置することです。これにより、最終的にはbashでこれを正確に実行できます。

558 ~ howtobacktick
Using `which python` etc

.bashrcのエイリアス内でさまざまなバリエーションを試しましたが、どれも機能しませんでした。探している動作を取得するにはどうすればよいですか?そして、これを特にエコーで行う方法はありますか?

5
Galen
$ alias howtobacktick='echo Using \`which python\` etc'
$ howtobacktick
Using `which python` etc

[〜#〜]編集[〜#〜]

バックティック(`)およびその他の特殊文字は、一重引用符内で特別に扱われません。比較:

$ echo 'Using `which python` etc'
Using `which python` etc
$ echo "Using `which python` etc"
Using /usr/bin/python etc
5