サブコマンドを必要とするコマンドはかなり多いです(例:git
、またはtask
taskwarriorから)。場合によっては、別のサブコマンドを使用してこのコマンドを実行する専用のターミナルウィンドウがあります。常にメインコマンドを入力する必要がないことを願っています。 taskwarrior(「ToDo List Manager」)の例を挙げて説明します。
$ task add proj:job +hard Refactor the API -- Add task to project 'job' tagged 'hard'
$ task proj:job +easy add prio:H Fix typo in README -- Tag is 'easy', priority 'high'
$ task proj:job next -- List tasks in project 'job', ordered by 'urgency'
ご覧のとおり、orなどのサブコマンドの配置はtask
非常に柔軟です。今私がプロジェクト(例えば「仕事」)を進行しているなら、もっと深く探求したいと思います。それは次のとおりです。add
next
$ CONTEXT="task proj:job"
[task proj:job] $ add +hard Refactor the API
[task proj:job] $ +easy add prio:H Fix typo in README
[task proj:job] $ next
この質問のタイトルは非常に広範です(コマンドを実行する前にsedスクリプトを実行することをお勧めします)。しかし、次のいずれかを見ればうれしいです。
CONTEXT
例に示すように、いくつかの変数を設定して実行する前に、各コマンドの前にその値を追加できます。CONTEXT
または、コマンド入力を開始する前にコマンドラインに値を入力できることをお勧めします。これにより、時々バックスペースキーを押すか、Ctrl-U
状況に合わないコマンドを実行したいときに使用できます。
頼む。
zsh
説明された機能を備えたシェル(例えばbashのようなものが望ましい)はありますか?
答え1
正確な質問ではなく、ワークフローを解決するためにこの場合は関数を使用します。
t() { task proj:job "$@"; }
t add +hard Refactor the API
t +easy add prio:H Fix typo in README
t next
エイリアスと比較して関数の利点は、プレースホルダを行末だけでなくコマンドテンプレートのどこにでも配置できることです。
Leadingのオーバーヘッドを避けたいコマンドで判断すると、t
次のように試してみることができるようです。
add() { task proj:job add "$@"; }
next() { task proj:job next; }
add +hard Refactor the API
add +easy prio:H Fix typo in README
next