Gal*_*len 5 terminal bash command-line bash-alias
抱歉,如果在其他地方回答了这个问题,我一生都无法找到解决我的特殊情况的方法,我承认这有点奇怪。(注意:由于某种原因,这篇文章中的所有“使用”字样都显示为蓝色,但它们不应该是蓝色的,我不知道如何防止它)。
我在 MacOS 中使用 bash。我的 .bashrc 中有一些别名,它们只是向终端窗口打印一些东西来帮助我记住命令,或者快速向某人展示一个示例(在下面的代码中,我在命令行上创建别名,但实际上我总是将别名放在 .bashrc 中):
556 ~ alias howtotensorboard="echo tensorboard --logdir=logs/ --port=6001"
557 ~ howtotensorboard
tensorboard --logdir=logs/ --port=6001
Run Code Online (Sandbox Code Playgroud)
如果我只在命令行上使用 echo,在反引号前面加上反斜杠允许我将反引号打印到窗口:
559 ~ echo Using \`which python\` etc
Using `which python` etc
Run Code Online (Sandbox Code Playgroud)
但是在别名中做同样的事情实际上是执行 `which python` 而不是将它打印到窗口:
560 ~ alias howtobacktick="echo Using \`which python\` etc"
561 ~ howtobacktick
Using /usr/bin/python etc
Run Code Online (Sandbox Code Playgroud)
TL; DR,我想要的是在 .bashrc 中放置一个别名,该别名使用 echo 打印出一个反引号,以便最后我可以在 bash 中做到这一点:
558 ~ howtobacktick
Using `which python` etc
Run Code Online (Sandbox Code Playgroud)
我在 .bashrc 中的别名中尝试了许多变体,但没有一个起作用。我怎样才能得到我正在寻找的行为?而且,有没有办法专门用回声来做到这一点?
$ alias howtobacktick='echo Using \`which python\` etc'
$ howtobacktick
Using `which python` etc
Run Code Online (Sandbox Code Playgroud)
编辑:
这是因为反引号 ( `
) 和其他特殊字符在单引号内没有特别处理。相比:
$ echo 'Using `which python` etc'
Using `which python` etc
$ echo "Using `which python` etc"
Using /usr/bin/python etc
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2890 次 |
最近记录: |