刚接触shell脚本,在实际的应用上遇到很多的问题。为此,想记录下来以免之后重复犯错,也希望能够帮助到一些初学者,省得四处寻找答案,有这时间可以学习更多的知识啦。
[注:标题为出现的问题,下面为其原因,至于具体的解决方法要因人而异了,而且方法肯定也不止一种啦!]
1.“ABSINST.AB_TASKLIST” is an undefined name.SQLSTATE=42704
原因:当前schema的模式不正确
2.+%F:command not found
原因:日期的格式不正确,如date +%F改为’date +%F’(这个不是单引号,该键在esc键下方,一般用作~)
3.Permission denied
原因:脚本文件的权限问题,可直接执行sh读取脚本或者直接执行脚本
4.定时任务运行不起来怎么回事?
原因:在schema模式下指定>/dev/null(表示输出重定向到空文件)就可以了,不必再命令末尾加&>/dev/null
5.在windows下编写的脚本要记得转换文本为unix,可能会出现^M的符号!
6.db2 not found
原因:没有加上db2的配置文件:. /home/sunds/.profile
7.expr:0402-050 Syntax error
原因:expr的语法错误,可能是与substr连用时缺少substr
8.test:0403-004 Specify a parameter with this command
原因:参数的类型不正确,可能缺少引号。
9.scp:/home/apache-tomcat-6.0.37/webapps/…:Is a directory
原因:可能是目标服务器上没有此目录。
10.AIX系统下的crontab定时任务可直接生效,不必再重启服务器(可能我的版本比较高吧)!
11.AIX系统下date -d是用不了的,刚开始我以为其他地方出问题了。。。
12.if语句注意[]的使用,其中分号代表跳到下一行但是在本行写!(例如:if [ ] ;then = if [ ]
then)
13.ping 127.0.0.1查看ttl的字节数知道系统是啥(当然,也有可能被其他人篡改过)windows:128,linux:256,AIX:255,windows xp:64
以上全是我的个人体验,若有补充欢迎告知!