SORU
10 Mayıs 2011, Salı


bash - otomatik olarak bir değişken içine son çalıştırılan komutun çıkış yakalama

Bir sonraki komutta geçen yürütülen komut sonucu kullanmak mümkün olmak istiyorum. Örneğin,

$ find . -name foo.txt
./home/user/some/directory/foo.txt

Şimdi bir düzenleyicisinde açın, ya silin, ya da yapmak başka bir şey, örneğin mümkün olmak istiyorum söylüyorlar

mv <some-variable-that-contains-the-result> /some/new/location

Bunu nasıl yapabilirim? Belki bash değişken kullanarak mı?

Güncelleme:

Açıklığa kavuşturmak için, bir şeyleri el ile atamak istemiyorum. Peşinde olduğum şey, yerleşik bash değişkenleri, örneğin gibi bir şey

ls /tmp
cd $_

$_ önceki komutu en son bağımsız değişken tutar. Benzer bir şey, ama son komut çıktısını istiyorum.

Son güncelleme:

Seth'in cevap oldukça iyi çalıştı. Akılda tutulması gereken iki şey var:

  • ilk kez çözüm çalışırken touch /tmp/x unutma
  • sonuç sadece son komut çıkış kodu başarılı olursa saklanır

CEVAP
10 Mayıs 2011, Salı


Bu herhangi bir değişken olduğunu bilmiyorumotomatik olarak. Bir şey bir kenara sadece kopyala-yapıştır sonucu yapmak için, size sadece ne yaptıysa yeniden çalıştırın, örneğin

vim $(!!)

!! tarih genişleme anlamı olduğu 'önceki komutu'.

Eğer düzgün bir argüman ayrıştırma engelleyebilecek içinde boşluk veya başka bir karakter ile tek bir dosya olmasını bekleriz, sonuç (vim "$(!!)") alıntı. Bu tırnaksız bırakarak aynı anda birden fazla dosya açılacak boşluk veya diğer kabuk ayrıştırma belirteçleri içermediği sürece izin verir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Bratayley

    Bratayley

    30 Aralık 2010
  • kidrauhl

    kidrauhl

    15 Ocak 2007