対話型bashスクリプト

対話型bashスクリプト

私はApacheサービスを終了して機能を実行し、再びオンにするスクリプトを書いています。

各プロセスについて一種のインタラクティブな確認を受けたいです。私はprintfに慣れていませんが、私がやろうとしていることにはprintfが必要だと思います。

以下はスクリプトの一部です。サービスを終了するときにサービスが何をしたいかを言い、同じ行に「OK」または「Not OK」を報告したいと思います。

つまり。

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

-nBashでは、行末を印刷しないオプションを使用できます。echo

echo -n Shutting down Apache service:

または以下を使用してください。printf

printf '%s' 'Shutting down Apache service'

に改行文字を含めるには、テンプレートにprintf入れます。\n

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

関連情報