Shell编程积累
2019-07-18 本文已影响0人
王王王王王景
if语句中 =~ 的使用
if [[ ! $ksvers =~ v[0-9] ]] ; then
notes="ADS $ksvers. $notes"
ksvers="${distro##*\/}"
fi
此处判断属于正则表达式的匹配,只需要匹配上一部分就算完成匹配,比如ksever为v12的时候就可以成功匹配(其中v1完成匹配)
${}中 # 和 ## 的用法
test="aa/bb/cc/dd"
echo ${test#*\/} # bb/cc/dd
echo ${test#*\/} # dd
echo ${test%*\/}
'#'的作用是用来删除字符串左边的数据,#用于删除左边第一个,##用于删除左边所有的只保留最右边一个,经常配合其他字符匹配使用比如例子就是配合/使用,来找到路径中最后一个文件夹的名字
EOF用法
cat> 文件名<<eof
用来创建文件在这之后输入任何东西 都是在 文件里的输入完成之后EOF结尾 代表结束;比如:
cat > 1.txt <<eof
1
2
3
4
5
eof
就是创建1.txt这个文件里面内容是 1 2 3 4 5