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等

posted @ 2019-04-12 17:15  jayonlau  阅读(265)  评论(0编辑  收藏  举报