ユーザーがキーバインド|ショートカットを押すと、bashシェルでユーザーが入力したすべての内容をコマンドに渡したいと思います。
たとえば、Ctrl + bがバインディングであるとします。
bind '"\C-b": "myCommand.sh"'
ユーザーは を入力tar czv
し、ショートカットキーを押して文字列 "tar czv" を mycommand.sh に渡します。
これは可能ですか?私が考えることができる唯一の方法は、エコーして通過することです。
bind '"\C-b": " \e[1~ echo '\''\e[4~'\''| mycommand.sh\n"'
もっと良い方法がありますか?
答え1
完全に理解したかどうかはわかりませんが、あなたの要件(?)に合うようです。
bind '"\C-b": "\C-a\C-kecho \'\'\\C-y\'\\' | myCommand.sh\n"'
引用がトリッキーになります。 ~/.inputrc では簡単です。
"\C-b": "\C-a\C-kecho \'\C-y\' | myCommand.sh\n"
エコーに加えて、スクリプトにコマンドライン引数を使用させるのはどうですか?再度〜/.inputrcから:
"\C-b": "\'\C-amyCommand.sh \'\n"