在 Linux 系统中,叹号(!)有不同的意义,取决于上下文。以下是一些常见的用途:
1. 命令历史记录:
- `!n`: 执行历史中第 n 条命令。例如,`!5` 将执行历史记录中的第 5 条命令。
- `!!`: 重复执行上一条命令。
- `!string`: 执行最近的一条以 `string` 开头的命令。例如,`!ls` 将执行最近一次运行的 `ls` 命令。
2. 逻辑否定:
- 在脚本或命令行中,`!` 可以用来执行逻辑否定。例如,`! -d my_directory` 检查 `my_directory` 不是一个目录。如果它不是目录,则条件为真。
3. 特殊字符转义:
- 在一些情况下,尤其是在脚本中,`!` 可能需要转义。例如,在 `bash` 中使用单引号引起来的字符串不会处理 `!`,而双引号会。为了在双引号中使用 `!`,可以用反斜杠(`\`)进行转义。
以下是一些例子来说明这些用法:
bash
# 用 `!` 执行最近的命令
$ ls
$ !ls
# 用 `!` 执行最近的一条以 `cat` 开头的命令
$ cat /etc/passwd
$ !cat
# 在脚本中使用逻辑否定
if [ ! -d "/path/to/directory" ]; then
echo "Directory doesn't exist."
fi
掌握这些用法有助于提高在 Linux 命令行上的操作效率。
查看详情
查看详情