求大佬们帮助

Aa.雲散烟消 2018-07-10 02:52:41
!/bin/bash
#/usr/sbin/httpd -DFOREGROUND -domain=xiejl.com -httpAddr=:80 &> /dev/null &
param=" &> /dev/null &"
memsize=`ps -aux | grep "/usr/sbin/httpd -DFOREGROUND" | grep -v grep | awk '{printf $6 }'`
echo $memsize
if [[ $memsize -gt 3080 ]]; then
echo "restart begin"
httpd -DFOREGROUND_restart=`ps -aux | grep "/usr/sbin/httpd -DFOREGROUND" | grep -v grep | awk '{for(i=11;i<=NF;i++)printf $i " "}'`
echo $httpd -DFOREGROUND_restart
pkill -f /usr/sbin/httpd -DFOREGROUND
eval "$httpd -DFOREGROUND_restart $param"
echo "restart over"
elif[ -z$memsize ];then
echo "start begin"
eval "/usr/sbin/httpd -DFOREGROUND -domain=xiejl.com -httpAddr=:80 $param"
echo "start over"
fi

[root@localhost sbin]# bash ehaha.sh
: 没有那个文件或目录bash
495231083108310831083108
ehaha.sh:行18: 语法错误: 未预期的文件结尾

我用bash执行这个文件的时候就是报这个错 ,一共就17行,然后第18行报错。
大佬们帮忙看一下吧
...全文
439 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
李庆海 2018-07-11
  • 打赏
  • 举报
回复
引用 4 楼 weixin_42269660 的回复:
[root@localhost sbin]# bash restrat.sh

restrat.sh:行6: $'if[[ \r -gt 10000 ]]': 未找到命令
restrat.sh:行6: $'then\r': 未找到命令
restart begin

pkill: only one pattern can be provided
Try `pkill --help' for more information.
restrat.sh:行11: $'\r\r': 未找到命令
restart over
restrat.sh:行13: $'elif[ -z \r ]': 未找到命令
restrat.sh:行13: $'then\r': 未找到命令
start begin
restrat.sh:行15: $'\r\r': 未找到命令
start over
restrat.sh:行17: $'fi\r': 未找到命令
[root@localhost sbin]#


无奈了


你好,你的脚本应该是这样吧
#!/bin/bash
#/usr/sbin/httpd -DFOREGROUND -domain=xiejl.com -httpAddr=:80 &> /dev/null &
param="&> /dev/null &"
memsize=$(ps -aux | grep "/usr/sbin/httpd" | grep -v grep | wc -l)
echo ${memsize}
if [ ${memsize} -gt 0 ]; then
echo "restart begin"
httpd_DFOREGROUND_restart=$(ps -aux | grep "/usr/sbin/httpd" | grep -v grep)
echo ${httpd_DFOREGROUND_restart}
sudo pkill -f /usr/sbin/httpd
eval "sudo /usr/sbin/httpd -D xiejl.com ${param}"
echo "restart over"
else
echo "start begin"
eval "sudo /usr/sbin/httpd -D xiejl.com ${param}"
echo "start over"
fi
Aa.雲散烟消 2018-07-11
  • 打赏
  • 举报
回复
[root@localhost sbin]# bash restrat.sh

restrat.sh:行6: $'if[[ \r -gt 10000 ]]': 未找到命令
restrat.sh:行6: $'then\r': 未找到命令
restart begin

pkill: only one pattern can be provided
Try `pkill --help' for more information.
restrat.sh:行11: $'\r\r': 未找到命令
restart over
restrat.sh:行13: $'elif[ -z \r ]': 未找到命令
restrat.sh:行13: $'then\r': 未找到命令
start begin
restrat.sh:行15: $'\r\r': 未找到命令
start over
restrat.sh:行17: $'fi\r': 未找到命令
[root@localhost sbin]#


无奈了
李庆海 2018-07-10
  • 打赏
  • 举报
回复
引用 2 楼 weixin_42269660 的回复:
我加了空格还是报错,然后把if和elif后面的空格都取消了,就没出现之前的错误,然后出现了其他的错误

把错误贴出来啊
Aa.雲散烟消 2018-07-10
  • 打赏
  • 举报
回复
我加了空格还是报错,然后把if和elif后面的空格都取消了,就没出现之前的错误,然后出现了其他的错误
李庆海 2018-07-10
  • 打赏
  • 举报
回复
你好,你的这个shell脚本有多处错误,首先第一行的编译环境错误
#!/bin/bash
,第8,9行的变量定义是不对的,echo输出会报错,第13行应该是
elif [[ -z $memsize ]]; then
,elif后面要跟一个空格,-z也是一样

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧