Saya memiliki bash
jendela terminal tempat saya mengeksekusi satu perintah secara eksklusiffoo
. Karena itu saya ingin setiap baris (setelah prompt tentu saja) dimulai dengan "foo" sehingga saya hanya perlu mengetikkan opsi dan argumen fungsi, tetapi bukan nama fungsi berulang. Tentu saja akan menyenangkan untuk dapat mengubah string yang dimasukkan secara otomatis juga, tetapi itu tidak penting bagi saya.
Contoh
Ketika saya membuka terminal, tanpa mengetik apa pun yang ingin saya lihat adalah:
user@host:~/ $ foo
Kemudian saya mengetik --option argument
dan ketika saya menekan Enterfungsi foo
dipanggil dengan yang diberikan --option
dan argument
.
Apa yang saya coba
Saya mencoba untuk bermain-main dengan $PS1
dan $PROMPT_COMMAND
menggunakan xdotool type "foo "
dan mengherankan yang benar-benar berfungsi, tetapi sayangnya itu juga mencetak "foo" sebelum prompt, yang cukup jelek:
user@host:~/ $ PROMPT_COMMAND='xdotool type "foo "'
foo user@host:~/ $ foo
Saya juga menemukan dan mencoba preexec
fungsi dari script bash-preexec Ryan Caloras , tetapi memiliki masalah yang persis sama.
Bagaimana cara menggaungkan (a (executable-) string) ke prompt, sehingga kursor berkedip di akhir baris? terkait, tetapi jawaban di sana tidak memungkinkan untuk menambahkan sesuatu ( --option argument
) ke perintah yang akan dieksekusi. Tapi saya tidak menguji zsh
- harus ada bash
solusi untuk hal sederhana seperti itu, bukan begitu?
expect
, tetapi tidak memasukkan teks pada setiap prompt, tetapi hanya pada yang pertama. Sementara itu ingin di pertanyaan terkait, tujuan saya berbeda.