shell 中 bash 命令之前的反引号

shell 中 bash 命令之前的反引号

bash 命令前的反引号的含义是什么?

```bash 
# Or
`bash

当我在 shell 上输入以下命令时,会出现以下提示

>

但如果我进入

``bash

没有>出现。

我在文本编辑器中遵循比特币源代码 v0.15.1 的 build-unix.md 说明时遇到了这个问题。

https://github.com/bitcoin/bitcoin/blob/v0.15.1/doc/build-unix.md

```bash
 BITCOIN_ROOT=$(pwd)

感谢您的见解

答案1

这是来自github的markdown语言。不应将其复制到您的终端中。为了在 github 中创建代码块,您可以用三个反引号将代码括起来,如下所示:

```
code
goes
here
```

为了添加语法突出显示,您可以像这样指定语言:

```bash
code
goes
here
```

您想要的代码将是反引号之间的内容。


您看到提示的原因>是因为在 bash 中反引号是用于命令替换的特殊字符。 (这是一种过时的方法,但仍然有效)。

您可以像这样使用它:

$ echo `hostname`

应该这样做

$ echo "$(hostname)"

这将回显您机器的主机名。

然而,当 bash 看到一个反引号时,它会将语句的其余部分解释为命令替换,直到到达结束反引号。当你有三个时,前两个彼此关闭,但第三个打开打开一个新的替换语句,并且 bash 正在寻找结束反引号。当您按 Enter 键时,它会显示 ,>让您知道您仍在该块内,并允许您输入多行命令。引号或换行符也会发生同样的情况:

$ echo `
> hostname
> uname -s
> `
JBCGENS001 Linux

$ echo '
> hello
> world
> '

hello
world

$ echo \
> hello \
> world
hello world

相关内容