Bagaimana Cepat Tukar Firman Pertama dalam Perintah Bash?
Sekiranya alur kerja anda diisi dengan banyak tindakan berulang, maka tidak akan menyakitkan untuk mencari cara untuk memperbaiki dan menyelaraskan aliran kerja anda. Pos Q & A SuperUser hari ini mempunyai beberapa cadangan yang berguna untuk pembaca yang ingin memperbaiki alur kerja.
Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.
Petikan dari Matt Joyce (Flickr).
Soalan
Koin pembaca SuperUser ingin tahu bagaimana untuk menukar perkataan pertama dengan cepat dalam arahan bash:
Saya ingin memperbaiki aliran kerja saya dalam bash dan menyedari bahawa saya sering mahu melaksanakan perintah yang sama kepada yang boleh dieksekusi.
Beberapa contoh
1.) Git
2.) Bash
Saya tahu bahawa saya boleh melanda Ctrl + a kemudian Del untuk mengeluarkan kata pertama, tetapi saya tertanya-tanya apakah ada cara yang lebih cepat untuk melakukannya.
Adakah terdapat cara yang lebih cepat untuk duit syiling untuk mengubah kata pertama dalam arahan bash?
Jawapan
Penyumbang SuperUser Spiff, Hastur, jjlin. dan Gustavo Giraldez mempunyai jawapan untuk kami. Pertama, Spiff:
!$ memperluaskan kepada perkataan terakhir arahan anda yang terdahulu. Jadi anda boleh lakukan:
Atau
Contoh-contoh anda berlaku untuk mengulangi perkataan terakhir, jadi! $ Bekerja dengan baik. Jika anda benar-benar mempunyai banyak hujah yang anda ingin ulangi, dan anda hanya mahu mengubah perkataan pertama, anda boleh menggunakan! *, Yang memperluaskan kepada semua kata-kata perintah terdahulu kecuali zeroth.
Lihat bahagian "PENINGKATAN SEJARAH" pada halaman lelaki bash. Terdapat banyak kelonggaran di sana.
Diikuti oleh jawapan dari Hastur:
Saya ingin menambah amaran (lihat jawapan daripada Spiff di atas). Dengan $!, Anda tidak mempunyai kawalan visual sepenuhnya pada baris yang anda jalankan. Hasilnya kadang-kadang berbahaya, terutama jika anda menimbulkan salah laku. Ia mengambil apa yang diperlukan dari sejarah untuk berkembang.
Oleh itu, jika anda menulis perintah terakhir dengan ruang kosong pada mulanya, maka arahan ini mungkin tidak akan selesai dari sejarah. Apabila anda melaksanakan perintah baru dengan $!, Shell tidak akan mengambil parameter dari baris perintah terakhir yang ditaip, tetapi hanya dari bahagian terakhir dari sejarah.
Berikut adalah beberapa perkataan dan arahan yang lebih berguna.
Kemudian jawapan dari jjlin:
Ctrl + a untuk pergi ke permulaan garisan, kemudian Alt + d untuk memadam perkataan pertama.
Dan jawapan terakhir kami dari Gustavo Giraldez:
Pintasan perkataan memadam sebenarnya Meta + d, dan Meta biasanya dipetakan ke Alt pada mesin Linux. Pada platform di mana ini tidak berlaku, alternatif untuk mendapatkan Meta pengubah adalah untuk digunakan Esc sebagai awalan. Anda boleh membaca lebih lanjut mengenai Meta Key di sini.
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.