SORU
17 Kasım 2010, ÇARŞAMBA


Bash, nasıl bir işlev bir komut için anahtar bağlamak mı?

Örnek: bind etmek istiyorumF12vurduğum her zaman ki gibi 5* *komut anahtarıF12mesaj "falanca" ekrana yazdırılır. İdeal rasgele bir kabuk komutu, sadece yerleşiklere olabilir. Nasıl biri bu?

CEVAP
17 Kasım 2010, ÇARŞAMBA


KARAKTER tuşuna basarak bir anahtar yaydığı sırası belirleyebilirsinizCtrl-vkomut satırında, sonra tuşuna basarak ilgileniyor. Benim sistemdeF12, ^[[24~ olsun. ^[ temsil ederEsc. Terminaller veya terminal öykünücüsünü farklı türleri aynı anahtar için farklı bir mesaj verebilir.

Bir Bash isteminde bir komutu denemek önemli makro etkinleştirmek için girebilirsiniz.

bind '"\e[24~":"foobar"'

Bastığınızda artıkF12, komut satırı "daha fazla düzenleme için hazır falanca alırsınız Eğer bir komut hemen girmek için bir tuş istiyorsan, bir yeni satır ekleyebilirsiniz:

bind '"\e[24~":"pwd\n"'

Bastığınızda artıkF12geçerli dizin basmadan görüntülenen alacaksınGirin. Hatta bir şeyler yazdığınız ve otomatik olarak yürüten bu kullanırsanız ne? Karman çorman olabilir. Ancak, makro bir parçası olarak hattı açık:

bind '"\e[24~":"\C-k \C-upwd\n"'

Uzay emin yaparCtrl-ubir zil çan tutmak için silmek zorunda.

Makro istediğiniz şekilde çalışma aldıktan sonra, kalıcı ~/inputrc dosyası ekleyerek yapabilirsiniz. bind komut veya tek tırnak dış ayarlamak için gerek yok

"\e[24~":"\C-k \C-upwd\n"

Düzenleme:

Ayrıca, geçerli Komut satırını bozmadan bir şeyler yürütecek bir anahtar bağlama oluşturabilirsiniz.

bind -x '"\eW":"who"'

Sonra bir kullanıcı adı gerektiren bir komut yazıyorsun, örneğin, oturum açmış olan kullanıcı adlarını bilmen gereken süre, tuşuna basabilirsinizAlt-Shift-Wve who çıkış görüntülenir ve istemi yeniden verilen kısmi komutu sağlam ve sırada aynı pozisyonda imleci ile olacak.

Ne yazık ki, bu kayıtlar için düzgün olarak çalışmıyorF12çıkış ikiden fazla karakter. Bazı durumlarda bu etrafında çalışmış olabilir.

Komut (bu durumdawho) herhangi bir çalıştırılabilir bir program, komut ya da işlev olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • pilslajt

    pilslajt

    20 HAZİRAN 2008
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010