Saya memiliki beberapa perintah dan path file yang agak panjang yang telah saya salin ke clipboard dan perlu dijalankan dalam TTY, namun path file terlalu panjang untuk mengetik ulang dan saya ingin hanya menempelkannya setelah $
(saya dapat mengetik ulang perintah sebelumnya mereka kemudian), apakah ada cara untuk melakukan ini?
Jadi saya ingin menjalankan perintah dan memilikinya di baris berikutnya dimulai dengan $
meletakkan teks yang disalin ke clipboard seperti:
$ specialCommandToPasteText
$ pastedText
Saya menjalankan Ubuntu GNOME 16.04 dengan GNOME 3.20.
gpm
untuk memberikan dukungan mouse di VT, seperti yang disarankan dalam jawaban Anda sendiri untuk pertanyaan sebelumnya ?Jawaban:
Ini sederhana, tetapi Anda memerlukan alat tambahan.
Instal paket
xsel
yang memberikan perintah mudah untuk mengakses clipboard:Cari tahu yang
$DISPLAY
desktop Anda gunakan. Biasanya seharusnya begitu:0
, tetapi Anda dapat memeriksanya dengan menjalankan perintah ini di emulator terminal di desktop GUI Anda:Saya akan berasumsi outputnya
:0
, ganti dengan output aktual Anda di perintah berikut jika berbeda.Salin perintah yang ingin Anda jalankan di TTY, misalnya menggunakan Ctrl+ C.
Beralih ke TTY yang ingin Anda gunakan, misalnya ke TTY1 menggunakan Ctrl+ Alt+ F1.
Masuk dengan mengetik nama pengguna dan kata sandi Anda.
Masukkan perintah lengkap yang ingin Anda jalankan, tetapi ganti bagian yang ingin Anda masukkan dari clipboard dengan
$(DISPLAY=:0 xsel -ob)
.Misalnya jika Anda menyalin daftar besar paket yang akan diinstal, Anda bisa mengetikkan ini ke TTY:
Cuplikan clipboard tidak harus berada di akhir perintah Anda, tetapi mungkin muncul di mana saja.
Untuk menyederhanakan lebih lanjut, mari kita pindahkan ini masih sedikit rumit
DISPLAY=:0 xsel -ob
ke skrip. Saya akan memberi namaPASTE
(karenapaste
sudah diambil), tetapi Anda juga dapat menyebutnya secara berbeda.Untuk membuat file skrip di lokasi di mana setiap pengguna dapat menjalankannya tanpa harus menentukan path lengkap (saya sarankan
/usr/local/bin
untuk ini) dan untuk membuatnya dapat dieksekusi, cukup jalankan dua perintah:Sekarang Anda cukup menanamkan
$(PASTE)
ke perintah Anda pada TTY untuk memasukkan konten clipboard dari desktop Anda di sana.sumber
DISPLAY=:0 xsel -ob
sebagai Bash alias atau skrip kecil di mana saja (sebut sajaPASTE
) dan hanya menggunakan formulir singkat seperti$(PASTE)
menggunakan konten clipboard dalam perintah Anda.Secara pribadi, saya hanya menggunakan file teks:
Di lingkungan desktop Anda, buka terminal dan
Jatuhkan ke tty dan
sumber
some-command '
shift + insert (untuk menempel).'
kembali. Menempelkan di dalam tanda kutip tunggal atau ganda mencegah baris baru dalam teks yang disisipkan dari menjalankan perintah sebelum saya dapat mengeditnya untuk memperbaiki masalah. IDK apa yang Anda peroleh untuk menempatkan teks dalam file. Bash memiliki penekanan tombol pengeditan garis yang sangat kuat, seperti panah ctrl-kiri atau ctrl-kanan untuk bergerak dengan kata-kata. alt-backspace untuk menghapus kata-kata mundur. Alt-d untuk menghapus kata-kata maju, dll.Solusi lain yang mungkin tidak tercantum di atas melibatkan penggunaan
vim
, tempel, dan jalankan:!unix_command
dalam mode perintah:vim
, masuk ke mode perintah Esc, masuk ke prompt:sumber