linux - <cmd> 的神秘输出后跟\或`

标签 linux shell

有时,当我在 bash 中键入命令时,我会错误地在末尾键入\字符,因为它靠近 Enter 键。 每当我这样做时,我都会在下一行收到提示,如下所示:

>_

使用 ` 字符时会产生相同的输出。

这个\到底对命令做了什么?

是否有其他字符(除了\和 `)提供类似的输出?

最佳答案

\ 字符允许您将命令分成多行:

$ grep "hello" /tmp/file

相当于:

$ grep "hello" \
> /tmp/file

'" 字符允许您定义多行字符串,` 是一种将命令输出用作另一个参数。$(command) 做同样的事情。

当你看到

>

表示命令语法不完整。一些 shell 结构也需要终止,比如 while、for、if ...

显示的>可以用PS2环境变量配置。

根据要求,这是一个使用 ` 的例子: 假设我在 filelist.txt 中有一个文件列表:

$ cat filelist.txt
a.c
a.h
Makefile
test.cfg
[...]

我想知道每个文件中的行数。命令将是 wc -l a.c a.h Makefile [...]。要使用 cat filelist.txt 的输出作为 wc -l 的参数,我可以使用:

$ wc -l `
> cat filelist.txt
> `

关于linux - <cmd> 的神秘输出后跟\或`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741125/

相关文章:

python - 为什么我的 Python 脚本编写的是 Windows 风格的回车符?

bash - 用于轮询的 unix wait 命令

linux - 使用 cut/awk 或任何东西提取字符串的一部分

c - 对C的定时器有一些困惑

c - `#ifdef MODULE` 围绕 module_exit() 的用途?

git - 制作一个 shell 脚本来更新 3 个 git repos

linux - Linux系统中的文件被进程读取后删除

bash - 获取数组中基于子字符串的唯一文件名列表

android - Galaxy S Blaze 4G 无法在 Linux 上使用 adb

linux - 有没有办法在设置dpkg控制文件时自动判断依赖关系?