bash スクリプトのコマンド ラインにコマンド (文字列) をコピーすることは可能ですか?

bash スクリプトのコマンド ラインにコマンド (文字列) をコピーすることは可能ですか?

私は実際に、チートシートにコマンドを保存できるスクリプトをプログラミングしています (例: 「git add.」、「git merge」、「docker compose-up」...)。これらはすべて、日常業務で必要なコマンドです。

こちらをご覧ください:https://github.com/m1well/チートシート

質問があります。追加のインストールなしでコマンドをコマンド ラインにコピーすることは可能ですか?

私の実際のアイデアは、これをシェルの履歴のように実装することです -> 各コマンドの前に番号を追加し、次のように呼び出します。ここで、は
$ my-script.sh -c 5
コマンド-cパラメーター (複数のパラメーターがすでに実装されている場合) を表し、5 は 5 行目のコマンドを表します。

要約: ファイルからコマンド ラインに行をコピーし、Enter キーを押して実行することは可能ですか?

答え1

それはOSによって異なります。Unix/Linuxの場合ここ入力バッファに文字列を詰め込む方法についての提案がいくつかあります。もちろん、Windows は異なります。

bash のみに基づいたまったく異なるアプローチは、次のようなものです。bash プロンプトに次のコマンドを入力します。

foo() {
    READLINE_LINE="execute me"
    READLINE_POINT=${#READLINE_LINE}
}
bind -x '"\ex": foo'

ここで、Alt+ x(\exコード内の部分) を入力すると、現在の入力行が に置き換えられますexecute me

関連情報