#!/bin/bash
value=$(</var/www/sym_monitor/man_mon.txt)
value2=$(</var/www/sym_monitor/panel_mon.txt)
pro=$(ps -ef |grep sym |grep -v grep |awk '{ print $2 }')
echo "$pro";
echo "STARTED";
if [ "$value" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
echo "IF";
else
if [ "$value2" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
echo "ELSEIF";
else
if[ "$pro" == "" ]; then
echo "pro";
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
fi
fi
fi
echo "END";
Run Code Online (Sandbox Code Playgroud)
在上面的脚本中,如果给出了语法错误.任何的想法?在变量$ pro中,即使没有这样的进程运行某些进程Id正在打印?为什么?
在该脚本看起来像下面之前并且工作得很好.
#!/bin/bash
value=$(</var/www/sym_monitor/man_mon.txt)
value2=$(</var/www/sym_monitor/panel_mon.txt)
if [ "$value" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
elif [ "$value2" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
fi
Run Code Online (Sandbox Code Playgroud)
这是第一个完美无缺的脚本版本.但是我必须再添加一个条件,如果没有上面第一个脚本中提到的进程运行那么条件中的代码应该运行.我不知道为什么即使没有进程运行它也会给$ pro值一些数字.任何的想法?
| 归档时间: |
|
| 查看次数: |
534 次 |
| 最近记录: |