私は自分のinitscriptを書いた/etc/init.d/myscript
。サービスコマンドを使用してスクリプトを起動および停止できます。
service myscript start
service myscript stop
と入力すると、bash_completionはを含むservice <TAB>
すべての初期化スクリプトを表示しますが、入力すると何も起こりません。他のinitスクリプトと同様に、bash_completionはこれを提供したいと思います。たとえば、bash_completionは機能しますが、どこで定義されているのかわかりません。またはありません。では、情報はどこで入手できますか?スクリプト情報をどこに追加する必要がありますか?/etc/init.d/
myscript
service myscript <TAB>
start
stop
service cups <TAB>
/usr/share/bash-completion/completions/cups
/etc/bash_completion.d/cups
service
答え1
bash-completion
EPELリポジトリのCentOSで利用可能な以前のバージョンでは、/usr/share/bash-completion/
カップの完成などの例に基づいて追加のスクリプトを追加する必要があるかもしれません。
Fedora 19 などの最新のシステムでは、bash-completion は、インストールされている_service()
すべてのサービスに対してネイティブに提供および動作するネイティブスクリプトの機能と付属しています。それはすぐに動作するはずです。_services()
/usr/share/bash-completion/bash-completion
start
stop
より多くのタスクをサポートするには、次のようにusingタスクを追加します。
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
スクリプトは文字列を解析しstatus
、restart
等を完成します。ここでは、ジョブパラメータを管理するために次のようなCaseステートメントを使用するとします。
case $1 in
start)
[...]
;;
stop)
[...]
;;
status)
[...]
;;
*)
echo $"Usage: $0 {start|stop|status}"
esac