shell笔记-----常用命令积累
set -x
# 执行指令前,先输出指令
#set -o xtrace # 与set -x效果一样
set -e
在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出。有的人喜欢使用这个参数,是出于保证代码安全性的考虑。
但有的时候,这种美好的初衷,也会导致严重的问题。
谨慎使用吧,有悲惨经历写了忘了中间程序运行一半老退出,就是他的锅
dirname
dirname命令去除文件名中的非目录部分,删除最后一个“/”后面的路径,显示父目录。
[root@server80 ~]# dirname /root/minion.pem /root
mkdir -p /{a,b}
同时在根目录下创建a和b两个文件夹
tee命令
将输出的内容输入到某个文件
比如:
EOF命令
执行脚本的时候,需要往一个文件里自动输入N行内容。
这个时候,就可以使用EOF结合cat命令进行行内容的追加了。
EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
EOF一般会配合cat能够多行文本输出.
其用法如下:
<<EOF //开始
....
EOF //结束
还可以自定义,比如自定义:
<<BBB //开始
....
BBB //结束
此处需要注意的是区分大小写。
通过cat配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号:
1)向文件test.sh里输入内容。 [root@slave-server opt]# cat << EOF >test.sh > 123123123 > 3452354345 > asdfasdfs > EOF [root@slave-server opt]# cat test.sh 123123123 3452354345 asdfasdfs 追加内容 [root@slave-server opt]# cat << EOF >>test.sh > 7777 > 8888 > EOF [root@slave-server opt]# cat test.sh 123123123 3452354345 asdfasdfs 7777 8888
cat > test.sh << EOF
cat << EOF > test.sh
这两种写法都可以
备忘录
脚本里不能有more less等
---当才华撑不起你的野心的时候,请努力!---