shell脚本中28个特殊字符的快速参考

0 下载量 138 浏览量 更新于2024-08-31 收藏 66KB PDF 举报
shell脚本特殊字符详解 Shell脚本中有28个特殊字符,它们在编写shell脚本时起着非常重要的作用。下面将对这些特殊字符进行详细的解释和说明。 1.#注释作用 在shell脚本中,#号用于注释,除非它出现在#!之外。在参数替换中,#号不表示注释,例如echo ${PATH#*:}。在数制转换中,#号也不表示注释,例如echo $((2#101011))。 2.;命令行分隔符 ;号用于分隔命令,可以在一行中写多个命令。例如,echo hello; echo there。 3.;;终止case选项 ;;号用于终止case选项。例如: ``` case "$variable" in abc) echo "$variable = abc";; xyz) echo "$variable = xyz";; esac ``` 4..隐藏文件前缀 .号用于表示当前目录,..号用于表示上一级目录。在正则表达式中,.号用于匹配单个字符。 5.“”和‘’ 双引号和单引号用于组织特殊字符。双引号中可以引用变量,而单引号中不行。 6.\转义字符 \号用于转义特殊字符,例如echo \"hello\"。 7./文件名分隔符 /号用于分隔文件名,例如/home/user/file.txt。 8.`后置引用 `号用于后置引用,例如`echo $(date)`。 9.:空命令 :号为空命令,等价于NOP。例如: ``` while : do echo "1" done ``` 等价于: ``` while true do echo "1" done ``` 在if/then语句中做占位符,例如: ``` if condition then # 什么都不做,引出分支 else do other thing fi ``` 10.!取反操作符 !号用于取反操作,例如if ! condition。 11.*万能匹配符 *号用于万能匹配符,例如echo *。 12.?测试操作 ?号用于测试操作,例如if ? condition。 13.$变量符号 $号用于变量符号,例如echo $variable。 14.()命令组 ()号用于命令组,例如(a=hello; echo $a)。在()中的命令列表将作为一个子shell来运行。在()中的变量,例如a=hello,将不可用于脚本的剩余部分。 15.{xxx,yyy,zzz}大括号扩展 {xxx,yyy,zzz}号用于大括号扩展,例如cat {file1,file2,file3} > combined_file。 这些特殊字符都是shell脚本中非常重要的组成部分,正确地使用它们可以提高shell脚本的效率和可读性。