Soru Daha önce girilen bir komutu, tekrar çalıştırmadan geçmiş yardımcı programını kullanarak nasıl kopyalayabilirsiniz?


Kullanabiliyorum history Ancak, daha önce girilen komutların listesini almak için CentOS’a komut verin, ancak aşağıdaki gibi bir şey yaparsam: !372, geçmiş başvurulan komutu çalıştırmayı dener.

Geçerli imleçte görünmesi için önceki çalıştırma komutuna ihtiyacım var. İşte bir örnek:

[dev@home ~]$ previous_command_no_execute!372  

14
2018-03-30 16:47


Menşei




Cevaplar:


Peki, bunu komut satırına koy:

$ !372

O zaman basın ESC bunu takiben CTRL + E. Bu, aslında çalıştırmadan komut satırında otomatik olarak genişleyecektir. (Ayrıca, env vars dahil olmak üzere, satırdaki diğer her şeyi genişletir)

Bu sadece bildiğim kadarıyla Bash üzerinde çalışıyor.


25
2018-03-30 17:06



Evet, bu tam çözüm. - centosnoob
Zsh içindeki bir çözüm için, yazdıktan sonra sekmeyi tıklayın. !372 ve sizin için genişletecektir. - Reid


Kullanabilirsin Ctrlr ve sonra orijinal komuttan bazı karakterleri ör.

(reverse-i-search)`/etc': sudo /etc/init.d/apache2 restart

yukarıda yazdım Ctrl-r /etc ve yukarı çekti sudo /etc/init.d/apache2 restart tarihin komutanı


10
2018-03-30 17:10



evet bu uygun bir çözümdür. teşekkür ederim. - centosnoob


history | grep 372 Çalışmalı, değil mi?

Düzenle:

Ek olarak böyle bir şey yapabilirsin echo !372 > /dev/clip Komut dizini panoya koymak.


6
2018-03-30 16:50



her zaman benim için çalıştı ... - voretaq7
Hayır, sadece daha önce çalıştırılan belirli bir komutu bulur. - centosnoob
Sonra hem kendim hem de voretaq7 sorunuzu yanlış anladılar. Belki biraz daha açık olabilir misiniz? - MDMarra
@MDMarra Soruyu güncelledim. Umarım biraz daha ışık tutar. - centosnoob
@centosnoob güncellemenize bakıyor ve konsolunuzun fare ve kopyala yapıştırmayı desteklediğini varsayarak direkt olarak kopyalama-yapıştırma özelliği olmayan terminal stili konsolda bu günlerde kopyalama ve yapıştırma çözümü gerçekten en az acı verici. Ben cevapta özetlenen vi-style komut düzenleme başka bir seçenek, ama ben bir vi zealot ve hatta ben vi tarzı komut satırı düzenlemesini kullanmayın ... - voretaq7


MDMarra kolay yol verdi (history|grep ve bir tane varsayarak, masaüstü ortamınızı kullanarak kopyalayın / yapıştırın). Zor yol dediğim şeyi sağlarım, yapamaz bir masaüstü ortamı veya bir fare var.

Kabuğunu bash olarak çalıştırdığını varsayalım:

$ set -o vi
$ ESC372k

(Artık 372 komutunu önce komut satırında çalıştırmış olacaksın, sende olacaksın. vistil komut modu. Kullanıyormuş gibi düzenleyin ex/vi)


4
2018-03-30 16:58



İlginç. Bu sadece "set -o vi" erken çalıştırırsanız çalışır gibi görünüyor. Bunu bash profiline ya da başka bir şeye koymanız gerekebilir. - Matt
Bu, "her zaman vi kullanıyorum, neden bash satırlarını düzenlemek için vi bağlamaları kullanmıyorum" diye bir şokla fark ettiğiniz şeylerden biri. Alışmak biraz zaman alır, sonra herkesin kullandığı emacs tarzı bağlamalar tuhaf ve işe yaramaz hissettirir. - cjc
@Matt Evet - düzenleme modunuzu vistil düzenleme O meli en kısa sürede çalış set -o vive tüm tarihiniz için çalışmalıdır (düzenleme modu sadece kabuğun komut geçmişine ve diğer şeylere bir arabirimdir). - voretaq7
@cjc vi'yu tercih ettiğim editör olarak kullanıyorum, fakat komut satırımı düzenlemek için vi stili bağlamaları kullanmıyorum (sadece vi modundan başımın üstünden nasıl kurtulacağını bildiğim halde başkaları gönderdim daha kolay olabilir emacs modunda eşdeğer :). - voretaq7


İstediğinizi yapmanın en basit ve hızlı yolu koşmaktır:

!372:p

bunu takiben Girmek ve


4
2018-03-30 18:43





Bir masaüstü sistemde mi yoksa sunucunuzda mı?

Kubuntu masaüstü sistemimde kabuk açıkken fareyle vurgulamayı destekliyor. Genelde sadece fareyle metni vurgulayın ve yapıştırmak için orta fare düğmesini tıklayın. Bu sizin için işe yarar mı?

Böylece komuta için grep yapabilirsiniz. Metni vurgula. Orta fare düğmesiyle yapıştırın, sonra düzenleyin.

Daha iyi bir yol olabilir ama bu benim için çalışıyor.


0
2018-03-30 16:57





Otomatik yapıştırma yapmak için bir komut yoktur, ancak yürütmeden önce düzenlemek için herhangi bir komutu bir editöre çağırabilirsiniz. Bu, aradığınız şeyi elde edebilir, ancak komuttan çıkarsanız, yürütmeyi iptal etmek isterseniz, düzenleyicinizden çıkmadan önce düzenleme tamponunuzu temizlemeniz gerekir.

fc -e vi 372 372


0
2018-03-30 17:04