Son komutun ve son komutun çıktısını bir öğretici amaç için bir metin dosyasına eklemek istiyorum.
Örneğin: Bir ls
giriş dizinini yaptıktan sonra bunu ekranda görüyorum
bguiz@sheen:~$ ls
Desktop Music Documents
Daha sonra, aşağıdakileri bir textfile dosyasına ekleyecek tek bir komut girebilmek istiyorum. cmd.txt
$ ls
Desktop Music Documents
Fikir, bir komuta her girdiğimde hem komutun hem de çıktısını aynı dosyaya kaydedebildiğim ve birkaç komuttan sonra belirli bir komut dizisini göstereceğidir. Bunun elle yapılabileceğini biliyorum - ama eğer kolay bir alternatif varsa, neden öyle yapmalı?
Şimdiye kadar pişirdiğim şey bu:
echo -n "\$ " >> cmd.txt; echo !-1:p >> cmd.txt; !-1 >> cmd.txt
Çalışır, ancak oldukça tıknazdır ve tam ekran biçimlendirmesini koruyamamak gibi çeşitli özelliklere sahiptir.
Daha zarif bir çözüm mü?
Şimdiye kadarki cevaplar için teşekkür ederim, ama bununla birlikte boru ile çalışması gerektiğine dair bir isteğim var, örneğin:
ls -lart | grep ^d
Dosyaya eklenmiş olması gerekir:
$ ls -lart | grep ^d
drwx------ 14 bguiz staff 4096 2010-03-03 15:52 .cache
drwx------ 5 bguiz staff 4096 2010-03-03 09:38 .ssh
$1
ile$@
ve bu dahil boruların kadar çalıştı. Ne demek istediğimi görmek için ana sorumun düzenine bakın.