shell学习杂记
特殊字符# 注释,行首以#开头为注释(#!是个例外).
; 命令分隔符,可以用来在一行中来写多个命令.
echo hello; echo there
;; 终止"case"选项.
case "$variable" in
abc) echo "\$variable = abc" ;;
xyz) echo "\$variable = xyz" ;;
esac
. .字符匹配,这是作为正则表达是的一部分,用来匹配任何的单个字符.
" 部分引用."STRING"阻止了一部分特殊字符.
' 全引用. 'STRING'阻止了全部特殊字符.
, 逗号链接了一系列的算术操作,虽然里边所有的内容都被运行了,但只有最后一项被返回.
如: 1 let "t2 = ((a = 9, 15 / 3))" # Set "a = 9" and "t2 = 15 / 3"
:
a) 空命令,等价于"NOP"(no op,一个什么也不干的命令).也可以被认为与shell的内建命令 (true)作用相同.":"命令是一个 bash 的内建命令,它的返回值为0,就是shell 返回的true.
b) 在 if/then 中的占位符
c) 在和> (重定向操作符)结合使用时,把一个文件截断到0 长度,没有修改它的权限.
如果文件在之前并不存在,那么就创建它.如:
: > data.xxx #文件"data.xxx"现在被清空了.
#与cat /dev/null >data.xxx的作用相同
在和>>重定向操作符结合使用时,将不会对想要附加的文件产生任何影响.
如果文件不存在,将创建.
注意: 这只适用于正规文件,而不是管道,符号连接,和某些特殊文件.
页:
[1]