#!/bin/sh ROOT_SEARCH=/opt/app/bin/SearchClient ret=0 if [ -e ${ROOT_SEARCH} ];then chmod +x ${ROOT_SEARCH} ${ROOT_SEARCH} 120 ret=$? fi if [ $ret -eq 120 ];then ${ROOT_SEARCH} & echo "get urgent stop request,need enter a pure os......." else echo "Run App..." fi 如何修改为如果5秒内没返回120
时间: 2024-02-15 14:06:13 浏览: 116
解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题
可以使用timeout命令来实现等待5秒钟,如果命令没有返回120,则自动结束命令的执行。修改后的脚本如下:
```bash
#!/bin/sh
ROOT_SEARCH=/opt/app/bin/SearchClient
ret=0
if [ -e ${ROOT_SEARCH} ]; then
chmod +x ${ROOT_SEARCH}
ret=$(timeout 5 ${ROOT_SEARCH})
fi
if [ $ret -eq 120 ]; then
${ROOT_SEARCH} &
echo "get urgent stop request,need enter a pure os......."
else
echo "Run App..."
fi
```
需要注意的是,使用timeout命令需要先确保系统中已经安装了coreutils包。如果系统中没有安装这个包,可以使用以下命令进行安装:
```bash
sudo apt-get install coreutils
```
阅读全文