コマンド用の対話型シェルの作成

コマンド用の対話型シェルの作成

アプリケーション(Puppet)を実行するサーバーがあり、サーバー管理はほぼ完全にそのプログラムの特定のコマンドを介して行われます。

サーバを専用デバイスとして設定するのが便利です(Cisco IOSがpuppetコマンドを使用する方法に似ています)。

puppetコマンドには多くの引数があり、それらの多くも昇格する必要があるため、「sudo puppetコマンドサブコマンドサブコマンド引数」を頻繁に入力します。

「sudo puppet」と入力してから「sudo puppetコマンド」を入力する代わりに、最上位コマンドのみを入力できる「puppet」コンテキストを入力したいと思います。

次に、コマンドを入力し、コマンドのコンテキストにある後、サブコマンドとサブコマンドの引数のみを入力します。

私が達成したいことは明らかですか?可能ですか?

ベストアンサー1

実際には簡単です。次のスクリプトを使用できます。

#!/bin/bash
while [ 1 ]; do
    echo -n "puppet> "
    read input
    puppet $input
done

同じ名前で保存してfoo.sh実行しますsudo bash foo.sh(またはsudo ./foo.sh実行可能フラグを設定した場合)。

おすすめ記事