1.
执行shell命令提示 /bin/sh^M: bad interpreter: No such file or directory
出现这个提示一般是因为这个文件是在windows环境创建的, 格式与Linux不兼容。
使用以下方法进行验证:
vim Down.sh
不要对文件内容进行编辑, 使用如下命令:
:set ff?
如果出现 fileforma=dos 那么就基本可以确定是这个问题了。
解决方法:
:set fileformat=unix //编码强转为unix格式
:wq!//保存强制退出
2.运行脚本文件报错.sh: line 1: $’\r’: command not found
移除文件中的\r即可:
sed -i 's/\r$//' filename
3.shell进行程序自启
#!/bin/bash
while true
do
procnum=` ps -ef|grep "test"|grep -v grep|wc -l`
if [ $procnum -eq 0 ]; then
/home/test&
fi
sleep 30
done
-eq意思是等于0,用于判断该test是否还在运行状态。监控/home/test这个程序是否运行。