版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wcy23580/article/details/83579538
路径获取
- 绝对路径
readlink -f [FILE NAME]
e.g.
readlink -f test_2
# return
# /home/wangcongying/tmp/test_2
- 父级绝对路径
dirname [文件(文件夹)绝对路径]
e.g.
dirname /home/wangcongying/tmp/test_2
# return
# /home/wangcongying/tmp
注意以下例子
dirname test_2
# return
# .
命令替换
- $()
- ``
#两者效果一样,但是$()更利于区分
$ echo the last sunday is $(date -d "last sunday" +%Y-%m-%d)
$ echo the last sunday is `date -d "last sunday" +%Y-%m-%d`
打点日志
- 运行成功打点
exec 1> [LOG NAME]
- 运行失败打点
exec 2> [LOG NAME]
- 执行指令后,会先显示该指令及所下的参数。
set -x
...
...
...
set +x
- 打点模板
cd $(dirname $full_path)
exec 1>${full_path%.*}.log
exec 2>${full_path%.*}.err
set -x
...
...
...
set +x
- 全局运行失败即返回
若指令传回值不等于0,则立即退出shell。
set -e