プログラム的にテキストのフラグメントをbashのコマンドラインバッファに入れ、編集のために読み、コマンドとして使用したいと思います。
私が期待したのは、read -i
コマンドに似たものでした。
-i text
readline を使用して行を読み取ると、編集が開始される前にテキストが編集バッファに配置されます。
編集する:そしてプログラム的に私の言葉は欲しいです。これをスクリプトに入れる、スクリプトを起動し、コマンドバッファを準備するか、コマンド履歴を変更します(一部の質問でわかるように)。
ベストアンサー1
奇妙な方法が見つかりました。fzfの例ページ。これはbash 4.3とPerl 5.18で動作します。
writecmd () {
perl -e 'ioctl STDOUT, 0x5412, $_ for split //, do{ chomp($_ = <>); $_ }' ;
}
# Example usage
echo 'my test cmd' | writecmd
コマンドを標準出力に出力しますが、コマンドバッファにもコピーします。コマンドを直接実行したい場合は、リンクされたページに例もあります。