第3章:特殊字符

第3章:特殊字符

什么是“特殊字符”?如果一个字符除了字面意义外还有“元意义”,我们就称它为特殊字符。在 Bash 脚本中,特殊字符和命令、关键字一起,是脚本的基本构建块。

脚本和其他地方常见的特殊字符

注释符号。 以 # 开头的行(除了 #!)是注释,不会被执行。

# 这是一行注释

echo "Hello" # 这也是注释

注释也可以跟在命令后面,但不能和命令写在同一行后再继续写代码。

;

命令分隔符(分号)。 允许在同一行写多个命令。

echo hello; echo world

if [ -x "$filename" ]; then echo "文件存在"; cp $filename $filename.bak; else echo "文件不存在"; touch $filename; fi; echo "测试完成"

有时分号需要转义。

;;

case 选项的终止符(双分号)。

case "$var" in

  abc) echo "$var = abc" ;;

  xyz) echo "$var = xyz" ;;

esac

.

点命令(period)。 等价于 source,用于在当前 shell 中执行脚本。

点号作为文件名的一部分。 以点开头的文件是“隐藏文件”。

touch .hidden-file

ls -a  # 可以看到 .hidden-file

单点(.)表示当前目录,双点(..)表示上级目录。

"

双引号。 保留大部分特殊字符的字面意义。

'

单引号。 保留所有特殊字符的字面意义,是最强的引用方式。

,

逗号运算符。 用于连接一系列算术操作,所有操作都会执行,但只返回最后一个结果。

let "t2 = ((a = 9, 15 / 3))"  # a=9, t2=5

\

反斜杠。 用于转义单个字符。

echo \"Hello\"

/

斜杠。 作为文件路径分隔符,也用作除法运算符。

`

反引号。 命令替换,将命令输出赋值给变量。

result=`ls`

:

冒号。 空命令(NOP),什么都不做,返回真(0)。

while :; do

  # 无限循环

done

空白符

空格、Tab、空行等都属于空白符。它们在脚本中用作命令和变量的分隔符。

注: 

以上为常用 Bash 脚本特殊字符的简要说明和示例。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容