-
Notifications
You must be signed in to change notification settings - Fork 0
/
tips on shell.txt
51 lines (37 loc) · 1.7 KB
/
tips on shell.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
1.
有时候windows下编辑的shell脚本在linux上执行会出现莫名的错误,转换一下格式即可
yum -y install dos2unix
dos2unix *.sh
2.
交互过程使用管道的方式,自动输入yes
[root@localhost ~]# yes | cp filename new/filename
linux默认
3.
[root@localhost ~]# alias
alias cp='cp -i'
\cp 取消alias
4.
source不是直接执行一个文件,而是从一个文本文件里面读命令行,然后执行这些命令
. test.sh 《=》source test.sh
可以使用在shell调用shell
5.
DATE=$(date +%Y%m%d)
获取明天的日期
date -d next-day +%Y%m%d
获取昨天的日期
date -d last-day +%Y%m%d
获取上个月的年和月
date -d last-month +%Y%m
获取下个月的年和月
date -d next-month +%Y%m
获取明年的年份
date -d next-year +%Y
6.
指定bash
/usr/bin/env bash
/bin/bash
7.
在函数里面,声明一个全局变量可能会污染到其他作用域(尤其在你根本没有注意到这一点的情况下)。所以,对于在函数内声明的变量,请务必记得加上 local 限定词。
8.
trap func EXIT 允许在脚本结束时调用函数。由于无论正常退出抑或异常退出,所注册的函数都能得以调用,在需要调用一个清理函数的场景下,我都是用它注册清理函数,而不是简单地在脚本结尾调用清理函数。
trap func ERR 允许在运行出错时调用函数。一个常用的技法是,使用全局变量ERROR存储错误信息,然后在注册的函数中根据存储的值完成对应的错误报告。把原本四分五裂的错误处理逻辑集中到一处,有时候会起奇效。不过要记住,程序异常退出时,既会调用EXIT注册的函数,也会调用ERR注册的函数。