
linux bash shell 特殊字符大全
1.
3.
4.
5.
6.
7.
8.
9.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
发布日期:2025-04-05 21:25:14
浏览次数:6
分类:精选文章
本文共 2056 字,大约阅读时间需要 6 分钟。
_shell符号详解
Shell 是 Linux/Unix 系统中的重要工具,无论是编程还是系统管理,都离不开 shell 命令。但在写 shell 脚本时,面对各种符号的使用可能会让初学者感到困惑。以下将详细介绍一些常用的 shell 符号及其使用方法,帮助你快速熟悉 shell 的高级功能。
_注释符号
1. #
- 作为注释符号,在 shell 文件的行首表示 shebang 标记,即指定脚本的执行环境。例如:
#!/bin/bash
- 在非首行使用 `#` 作为注释时,注释内容不会被执行。如果注释内容位于单引号或双引号中,则 `#` 将被视为字符本身。### 2. `;` - 作为命令分隔符,将多个命令放在同一行执行。注意:在某些情况下,分号需要转义以避免特殊含义。```bashecho "Hello"; echo "World"
- 可与
||
和&&
配合用于条件控制。
_流程控制符号
3. ;;
- 作为连续分号,常用于 case 语句的终结。在 Bash 4 及以上版本中,可以使用
;;
和;&
来实现复杂的流程控制。case="a"echo $case ;;case="b"echo $case ;;
- 在某些情况下,
;;
也用作命令的终结符。
4. .
- 指示 shell 读取并执行另一个脚本,相当于
source
命令。. data-file
- 在文件路径中,
.
表示当前目录,../
表示上一目录。如果用于隐藏文件,需单独指定。 - 在文件名中,多个
.
被引号包含时才有效表示点号字符。
_字符串处理符号
5. "
- 双引号用于部分引用,允许变量扩展和转义字符。双引号内的
"
需要转义。echo "Hello $USER"
- 可用于在 JSON 或 YAML 生成中处理引号。
6. '
- 单引号用于完整引用,禁止变量扩展,所有字符都作为字符处理。单引号必须成对出现。
echo '$Hello $World'
- 单引号适用于处理包含引号的字符串内容。
_逻辑控制符号
7. ,
- 用于数学表达式连接,执行多个表达式时,只返回最后一个结果。
let t1=((a=5+1, b=7+2))
- 用于参数替代,表示首字母小写或全部小写(Bash 4+)。
a="ATest"echo ${a,} # aTestecho ${a,,} # atest
8. \
- 用于转义特殊字符,包括 newline 和 tab等。若将
\
放在命令末尾,则表示不将后续命令续加。echo "Hello \nWorld"
_文件操作符号
9. /
- 在路径中,斜杠
/
表示 directory separator,根目录用单斜杠开头。/path/to/file
- 用于算术运算,表示除法运算符。
a=4/2
_命令处理符号
10. ```
- 反引号用于命令替换,将括号内的命令结果赋值给变量。
a=`dirname '/tmp/x.log'`
- 与单引号结合使用时,反引号内的命令会被执行。
_重定向符号
11. :
- 作为空命令符号,无任何执行操作,但返回状态码 0。
: ${username=`whoami`}
- 用于重定向标准输入或输出,起到特殊控制作用。
12. !
- 用于取反逻辑或测试结果。
ls a[!0-9]
- 在历史命令中用于调用前面的命令。
_通配符号
13. *
- 用于匹配文件名扩展,可以展หย�字符串中的通配符。
ls *.log *.txt
- 在算术运算中表示乘法。
14. **
- 用于算术运算,表示求幂运算。
a=2echo $a**3 # 8
15. ?
- 作为通配符之一,用于匹配单个字符。
ls ????*.log
- 在测试条件中用于布尔运算。
_环境变量和替换符号
16. $
- 用于变量替换,引用环境变量。
echo $PATH
- 在正则表达式中表示行末。
17. ${}
- 用于更复杂的变量替换,可嵌套运算符。
echo ${a:-默认值}
18. $$(...)
- 用于引用的复杂替换,可包含多个参数或管道。
a=$(ls /tmp | head -n1)echo $a
_路径和目录符号
19. ~
- 表示当前用户的 home 目录,可以包含用户名部分。
~/
- 与
$HOME
属于同一变量。
20. ~+
~-
- 表示当前工作目录和前一目录,分别对应
$PWD
和$OLDPWD
。echo ~+/tmp ~-`pwd`
_正则表达式中的符号
21. ^
- 在正则表达式中,
^
表示字符串开始。[[ "$var" =~ ^test]]
- 用于变量的转换,如变量首字母大写。
_空白符号
22. 空白符
包括空格、制表符等,可用于命令分隔或作为分隔符。
_结语
通过掌握以上 shell 符号的使用方法,你可以更高效地编写 shell 脚本,方便地处理文件和目录操作、流程控制以及字符串处理等复杂任务。这些符号的合理使用,不仅能提升你的 shell 编程水平,还能让你的工作效率大幅提升。
发表评论
最新留言
不错!
[***.144.177.141]2025年05月02日 01时55分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Kubernetes实战(三十一)-Calico网络部署(推荐)
2023-01-29
Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略)
2023-01-29
Kubernetes实战(二十九)-集群资源管理(CPU & Memory)
2023-01-29
Kubernetes快速上手:部署、使用及核心概念解析
2023-01-29
lamp 一键安装
2023-01-30
laravel mix
2023-01-30
Laravel Passport
2023-01-30
laravel 之 Eloquent 模型修改器和序列化
2023-01-30
Laravel 使用 - artisan schedule使用
2023-01-30
Laravel 使用rdkafka
2023-01-30
Laravel 多环境配置
2023-01-30
laravel 学习之第二章
2023-01-30
Laravel 安装上传代码不完整的解决方法
2023-01-30
laravel 安装添加多站点
2023-01-30
Laravel 深入理解路由和URL生成
2023-01-30
laravel 生命周期与框架精髓
2023-01-30
laravel 表单验证
2023-01-30
laravel 调试sql
2023-01-30