这两天公司让把之前的一些控制脚本整理一下,趁这个机会也想把shell脚本编程学习一下。下面列了一些看到的知识点,先记录下来等以后有机会再系统的学习一下。
1、export用来导出全局变量,其他脚本也可以使用该变量。
2、while语句,通过测试命令控制循环。
3、echo时指定-n参数表示不换行,下一次的echo内容将在当前行继续。
4、read 读取用户输入,也可以从文件读取,保存到之后的变量中。
5、case语句。
6、操作oracle数据库
sqlplus -silent XXX <<EOF
set serveroutput on;
set feedback off;
declare
....
begin
....
end
/
EOF
7、ps -e 查看所有进程。
8、wc -l 行数。
9、date命令,后面空格加+"%Y%m%d"等格式。
10、$?表示上一个命令执行后的返回值。
11、ipcs -m,ipcs提供进程间通信的信息,-m共享内存,-q消息队列,-s信号。还有ipcrm命令
12、awk需要进一步学习一下
13、cp file1 file2 把第一个文件的内容拷贝到第二个中并覆盖
14、wget -q -t 1 -T 30 -O %file1 $file,wget是从网络自动下载文件,具体的后续看。
15、正则表达式需要看看。%% ## * \
16、truncate table 数据库删除表,与delete的区别
17、kill -12,kill杀死某个进程,其参数需要进一步分析
18、ssh
19、nohup XXX >>$logfile 2 > &1 &
20、-e file 判断文件存不存在,-d等
21、sleep
22、pwd当前工作路径
23、tr -d
24、echo ${f:5}
25、date -d '-90 day' +'%Y%m%d'
26、cat /dev/null > file清楚file文件内容
27、-n 不为空
28、set -e 脚本中如果有命令返回值不是0,立即退出shell
29、iconv 转换字符集