本文主要是介绍hylan:shell中的特殊符号、特殊变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写此文的原因:shell脚本中的符号太多了,随着学习的深入、知识点的扩增,感觉记忆力不够用。
于是记录下来,方便以后查阅。
- / 虚拟目录的根目录。
- $ 引用某个变量、环境变量的值。
- ${} 精确的界定变量名称的范围。
- $() 命令替换 另一种形式(用两个反引号` 键盘上和波浪号同键位) 例如:testing=$(date) 等效于 testing=`date` 。
- $[] 将一个数学运算结果赋给某个变量时,可以此符号把数学表达式围起来。即:$[ operation ]。
- $? 专门的变量 用来保存上个已执行命令的退出状态码。
- $0 $1到$9(默认到第九个) 10以后${10} ... 位置参数变量 这些特殊变量分配给命令行中的所有参数。
- $# 参数总数。
- ${ !# } 当 $#=0时,用来表示脚本名$0;当 $#>0时,用来表示最后一个命令行参数变量。
- $* 将命令行上提供的所有参数当作一个单词保存。
- $@ 将命令行上提供的所有参数当作同一个字符串中的多个独立的单词。
- $$ 特殊的环境变量 当前PID。
- >(新建、覆盖文件) >>(新建、追加文件) 输出重定向 command > outputfile
- < 输入重定向 << 内联输入重定向
- \ 一种是转义符号 例如: if [ $val1 \> $val2 ] 转义了大于号> 与输出重定向区别 另一种是放在指令的最末端,表示指令连接下一行。
- [] 一种条件检测方法,等效于 test命令 例如:[ condition ]。 里面只能包含test命令使用的标准数学运算符。大于号等需要转义。
- (()) 双括号命令 格式:(( expression )) expression可以是任意的数学赋值或比较表达式。备注:不需要将双括号中表达式里的大于号转义。
- [[ ]] 双方括号命令 [[ expression ]] expression使用了test命令中采用的标准字符串比较 但它提供了test命令未提供的另一个特性——模式匹配。例如:[[ $USER == r* ]] 双等号将右边的字符串(r*)视为一个模式,并应用模式匹配规则。
- ~ 波浪号 表明shell会话位于你的主目录中。
- . 单点符 表示当前目录。
- .. 双点符 表示当前目录的父目录。
- 标准通配符: ? 问号 代表一个字符;* 星号 代表零个或多个字符。
- ' ' " " 单引号 双引号 来界定字符串的首尾(字符串中有空格的时候必用)。
- # 井号 用作注释 备注:shell脚本文件的第一行是个例外,#号后面的惊叹号(!)会告诉shell用哪个shell来运行脚本 例如: #!/bin/bash
- | 断条符号(键盘上和\同键位) 管道符号
- &- 关闭文件描述符的特殊符号。例如: exec 3>&- 关闭文件描述符3 。
这篇关于hylan:shell中的特殊符号、特殊变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!