shell脚本整理

exec 在脚本里正确错误输出,有时候执行命令后会输入到桌面上,可以使用exec命令把正确和错误信息分别重定向到一个文件,也可以多个文件:

exec 1> 正确重定向:

exec 1>> 正确追加重定向

exec 2> 错误重定向:

exec 2>> 错误追加重定向:

[root@localhost_01 shell]# cat test.sh 
#!/bin/bash
exec 1>>/tmp/1.log 2>>/tmp/2.log
ls
touch 123
date
sdafsadfkl;j;lkj
sdkjfskd;lfsdf
skdjf;sladf
[root@localhost_01 shell]# sh test.sh 
[root@localhost_01 shell]# cat /tmp/1.log 
1
fun3.sh
fun4.sh
fun5.sh
fun6.sh
fun7.sh
fun8.sh
funciton1.sh
function.sh
test.sh
Sat Sep 29 19:36:55 CST 2018
[root@localhost_01 shell]# cat /tmp/2.log 
test.sh: line 6: sdafsadfkl: command not found
test.sh: line 6: j: command not found
test.sh: line 6: lkj: command not found
test.sh: line 7: sdkjfskd: command not found
test.sh: line 7: lfsdf: command not found
test.sh: line 8: skdjf: command not found
test.sh: line 8: sladf: command not found

注释:

2、date 打印日期

3、read -p shell中用于输入字符:也用来做判断:

4、mkpasswd:用于生成字符串: 可用来脚本中随机生成文件名, 或者是作为用户的密码:

安装: yum install expect

-s: 不含有特殊符号: -s 0 (小写大写和数字)

-l:指定长度:

-c:指定小写: -c 0 表示不含有小写的:

-d:指定数字: -d 0 表示不含有数字的:

-C:指定大写: -C 10:

shell脚本整理

相关推荐