Linux Shell 中常见的特殊符号汇总
shell脚本的各种符号比较繁杂,尤其是通配符,和$符号。还有各种括号,运算符的应用,混在一起难以记忆。通过学习shell脚本语言,以及查找资料,总结shell脚本中的常见特殊符号,并分门别类,有助于理解和记忆。目录一、shell变量类1、$ 和 {}2、$() 和单引号二、shell字符串变量相关1、单引号' '2、双引号" "3、获取字符串长度 4、变量扩展三、shell运算符和表达式类1、算
shell脚本的各种符号比较繁杂,尤其是通配符,和$符号。还有各种括号,运算符的应用,混在一起难以记忆。通过学习shell脚本语言,以及查找资料,总结shell脚本中的常见特殊符号,并分门别类,有助于理解和记忆。
目录
主要参考网页链接:
2、shell脚本中常见的一些特殊符号和作用详解-阿里云开发者社区
一、shell变量类
1、$ 和 {}
var="hello world" # 变量名和等号之间不能有空格
echo $var
echo "${var}shell" # 使用大括号避免识别成 $varshell
2、$() 和单引号
作用: 命令替换(command substitution),都是返回当前执行命令的结果
# 使用语句给变量赋值
for file in `ls /etc`
for file in $(ls /etc)
3、命令相关
| # 管道符号。# 解释:command1|command2,将command1的输出作为command2的输入,
# 示例
ls -al|less
# 将ls -al的输出作为less的输入,即将la -al的输出分页。管道命令只接受标准输入(standoutput)。
& # 后台进程符。
`` # 反单引号,表示它所包含的内容。一般作为嵌入的命令使用,此命令将先执行。
; # 命令分隔符。
() # 表示整体执行命令。
二、shell字符串变量相关
1、单引号' '
(1)单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
(2)单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用
2、双引号" "
(1) 双引号里可以有变量和转义字符
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2 $greeting_3
hello, runoob ! hello, runoob !
hello, runoob ! hello, ${your_name} !
3、获取字符串长度
string="abcdf"
echo ${#string}
4、变量扩展
(1)、字符表示
# # 注释符;
* # 代表0个或者多个特殊字符
? # 匹配任意一个字符。
. # 点该表任意字符串
^ # 反向选择符,
[x-y] # 表示一定的范围。
# 示例
grep -n '^[^a-zA-Z]' wokao.txt
# []内的叫反向选择符,[]外的则表示定位在行首。查找行首不是英文字母的行。
” ” # 双引号表示把它所包含的内容作为普通字符,但` ` $ \ ‘ ‘ 几个符号除外。
’ ’ # 单引号表示把它所包含的内容作为普通的字符,无特殊例外。
$ # 变量符,提取变量,如echo $HOME,查看变量;正则表达式中表示行首。
\ # 转义字符,就是将特殊字符转换成其本来的普通字符的意思。
(2)、变量扩展
参考:shell脚本中常见的一些特殊符号和作用详解-阿里云开发者社区
# name为变量名,word为要匹配的字符串
${name:-default} # 使用一个默认值(一般是空值)来代替那些空的或者没有赋值的变量name;
${name:=default} # 使用指定值来代替空的或者没有赋值的变量name;
${name:?message} # 如果变量为空或者未赋值,那么就会显示出错误信息并中止脚本的执行同时返回退出码1。
${name%word} # 从name的尾部开始删除与word匹配的最小部分,然后返回剩余部分
${name%%word} # 从name的尾部开始删除与word匹配的最长部分,然后返回剩余部分
${name#word} # 从name的头部开始删除与word匹配的最小部分,然后返回剩余部分
${name##word} # 从name的头部开始删除与word匹配的最长部分,然后返回剩余部分
三、shell运算符和表达式类
1、算术运算符
2、关系运算符
3、布尔运算符
4、逻辑运算符
5、字符串运算符
四、shell运行中传递参数相关
脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……其中 $0 为执行的文件名(包含文件路径)
五、输入输出重定向符号
重定向:I/O。Linux Shell 环境中支持输入输出重定向,用符号 < 和 > 来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如
> # 重定向输出符号。
>> # 重定向输出符号,但有追加的功能。
2> # 错误重定向输出符号,覆盖原文件内容。
2>> # 错误重定向输出符号,有文件内容追加的功能。
# 示例
2>a.txt # 表示将错误信息输出到文件a.txt中。
< #重定向输入符。
具体使用情况如下表:
更多推荐
所有评论(0)