交互式 bash 脚本

交互式 bash 脚本

我正在编写一个脚本来关闭 Apache 服务,执行某个功能,然后将其重新打开。

我想为每个过程获得某种类型的交互式确认。我不熟悉 printf,但我相信我想做的事情需要它。

下面是脚本的一部分。当我关闭服务时,我希望它说出它将做什么,然后在同一行上报告“正常”或“不正常”。

IE。

Shutting down Apache service:

几秒钟后...

Shutting down Apache service: OK

#!/bin/bash

# Turn off Apache
echo "Shutting down Apache service:'

service apache2 stop

if ( $(ps -ef | grep -v grep | grep apache2 | wc -l) > 0 )
then
echo "NOT OK!"
else
echo "OK!"
fi

答案1

在 bash 中,您可以使用不打印行尾-n的选项。echo

echo -n Shutting down Apache service:

或者,使用printf

printf '%s' 'Shutting down Apache service'

要在 中包含换行符printf,请将其放入\n模板中

printf '%s\n' 'NOT OK!'

相关内容