很少用shell脚本,最近在写1个shell脚本,遇到1些问题,居然被折腾了半天。这些毛病太低级了,不应当.趁现在有时间,将履行该shell的脚本的全部进程记录下来,方便以后作为参考。
1、我们先看看编写的shell脚本的内容,该shell的作用主要是实现监控某个程序崩溃以后就自动重启该进程。
-eq意思是等于0,用于判断该test是不是还在运行状态。监控/home/test这个程序是不是运行。
2、由于该程序是window上的编写的,我们将它(名字用run._start.sh)拷贝到linux下以后需要对它赋予操作的权限
chmod 777 run_start.sh
3、我们将启动1下该程序
./run_start.sh &
记得加上&,要不然得窗口退了,该脚本也退出了。
3、发现运行的时候有毛病“-bash: ./run_start.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录” ,根据提示,我以为没有这个shell没有安装,所以找不到“/bin/bash”,其实理解毛病了,是linux上没法辨认window的doc格式。以后记住了,如果遇到这bad interpreter的毛病,1定要将字符做1下转换,方法以下:
1)编辑出错文件
vi run_start.sh
2)查看该格式(报错文件格式是DOS)
:set ff
3)修改格式
:set ff=unix
4)保存退出
:wq!
4、再重新运行脚本,可以看到正常了