Yanıtlar:
history
İnşa bash
verir kullanıldığında dosya belirterek -anrw
bayrakları ve -a
gelen bayrak açıklaması help history
devletler:
Bu oturumdan geçmiş dosyasına geçmiş satırları ekle
Bu nedenle şunları yapabiliriz:
~$ history -a this_session.history
~$ cat ./this_session.history
history mysession.history
cat mysession.history
clear
history -a this_session.history
Kayıt için, -w
(dosya seçimine yazma geçmişi) tüm geçmişi belirtilen dosyaya yazar , bu nedenle -a
(append) burada tercih edilen seçimdir.
Başka manuel yollar da var. Özellikle ksh
de -a
bayrağa sahip değildir bash
, ancak ne ksh
ve mksh
ne var HISTFILE
çevre değişkendir (ve bash
çok bash
sayıda ksh
özellik içerdiğinden buna sahiptir); bu arada, bu değişken varsayılan olarak ayarlanmamıştır (en azından mksh
Ubuntu'da bunu ayarlamadı). Bu nedenle, geçerli oturumu başka bir dosyaya HISTFILE
çıkarmak için, kabuk sözdiziminde belirttiğiniz ek ortam değişkeni ile komut çalıştırmak anlamına gelen komuta ekli olarak çağırırız . Şöyle ki:
bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$
bash-4.4$ cat ./mykshfile.hist
�echo 'Hello'
echo 'World'
Bundan da görebileceğiniz şey, ksh
ve ilişkili kabuklarının, düz metin yerine özel karakterlerle tarih yazmasıdır bash
. Yani, bu dosyayı ile açmak isteyebilirsiniz ksh
.
Debian Almquist Shell veya Dash olan Ubuntu'daki POSIX /bin/sh
kabuğuna gelince , fc
yerleşik var . Bununla birlikte, Ubuntu'da , performans nedenlerinden dolayı Ubuntu geliştiricileri tarafından bilinçli bir seçim olan lib-edit olmadan derlenir , bu nedenle fc
ve satır düzenlemeyi gerektiren diğer modlar kutudan çıkmaz ( dash
kendinizi yeniden derleyip yüklemediğiniz sürece lib-edit
).
Kabuk nötr yolları , oturumunuzu mevcut araçlarla kaydetmek veya komut başına kayıt yapmak için kendi işlevinizi yazmak olacaktır.