问题场景: 编写脚本,检查文件何时被删除
#!/bin/bash
cronTest(){
while true
do
ls /opt/unify/uom/agent/Agent1.sh > /dev/null
if [ $? -ne 0]; then
echo `date` "Agent.sh 文件被删除" >> /root/unify/bb.log
echo "bb" >> /opt/unify/uom/agent/Agent1.sh
echo `date` "Agent.sh 文件被创建" >> /root/unify/bb.log
fi
sleep 1
done
}
问题:执行报错未预期的符号 `$‘{\r‘‘ 附近有语法错误
解决:
- 方案一: Linux下打开shell文件,用vi/vim命令打开脚本文件,输入“:set fileformat=unix”,回车,保存退出。
- 方案二:notepad++右下角将windows模式改为linux模式在上传
心得:
/bin/bash -n /opt/unify/uom/agent/Agent1.sh 可检查语法错误;