コマンド用の擬似シェルの作成

コマンド用の擬似シェルの作成

これはある程度率直であるべきだと思います...

デフォルトでは、一部のコマンドでは、そのコマンドのすべての引数の範囲を指定する他のコマンドを呼び出すことができるようにしたいです。だから...

git commit -am "test"

なります...

./shell_comand git
>commit -am "test"
>status

その場合、オートコンプリートなどの機能は当然動作しません。しかし、そうでない場合、どの程度は可能ではないかと思います。どうなるかわかりません...

ベストアンサー1

私はこれがそれ自体で可能でなければならないと思いますgitが、私はgitの専門家ではないので、シェル関数でそれを使用します。sh互換性(たとえば)では、バイナリの代わりに呼び出される関数をbash簡単に作成できます(不要な再帰を防ぐために、関数の内部またはBASHでバイナリへのフルパスを使用するように注意してください)。gitgitcommand git

function git () {
    case "$1" in
    "commit")
        # do your stuff
        /path/to/git ...
        ;;
     *)
        # call git binary with the same arguments
        /path/to/git "$@"
        ;;
}

コマンドエイリアス()のみを使用することもできますが、alias関数を使用するとより多くの柔軟性が得られます。

完了については、シェルの完了機能を確認してください(マンページでbash参照してくださいcomplete)。確実に動作するようにすることができ、複雑すぎる必要もありません。

おすすめ記事