これはある程度率直であるべきだと思います...
デフォルトでは、一部のコマンドでは、そのコマンドのすべての引数の範囲を指定する他のコマンドを呼び出すことができるようにしたいです。だから...
git commit -am "test"
なります...
./shell_comand git
>commit -am "test"
>status
その場合、オートコンプリートなどの機能は当然動作しません。しかし、そうでない場合、どの程度は可能ではないかと思います。どうなるかわかりません...
ベストアンサー1
私はこれがそれ自体で可能でなければならないと思いますgit
が、私はgitの専門家ではないので、シェル関数でそれを使用します。sh
互換性(たとえば)では、バイナリの代わりに呼び出される関数をbash
簡単に作成できます(不要な再帰を防ぐために、関数の内部またはBASHでバイナリへのフルパスを使用するように注意してください)。git
git
command 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
)。確実に動作するようにすることができ、複雑すぎる必要もありません。