私の機能をショートカットにバインドします。
bind -x '"\em": __my_function'
コマンドラインプロンプトにすでに文字が含まれているかどうかによって、関数が異なるように機能するようにしたいと思います。
例えば
$ ***presses ^M***
アクションは次のように異なります
$ cd ***presses ^M***
ユーザーが^ Mを押すと、コマンド/一部のテキストがすでにプロンプトに入力されているためです。
Bashでこれをどのように検出しますか?
答え1
__my_function
空であることを確認してください$READLINE_LINE
。例:
__my_function() {
if [ "$READLINE_LINE" ]; then
echo foo
else
echo bar
fi
}
とで検索してくださいREADLINE_LINE
。READLINE_POINT
man 1 bash