Yanıtlar:
historyİnşa bashverir kullanıldığında dosya belirterek -anrwbayrakları ve -agelen bayrak açıklaması help historydevletler:
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 kshde -abayrağa sahip değildir bash, ancak ne ksh ve mkshne var HISTFILEçevre değişkendir (ve bashçok bashsayıda kshözellik içerdiğinden buna sahiptir); bu arada, bu değişken varsayılan olarak ayarlanmamıştır (en azından mkshUbuntu'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, kshve 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/shkabuğuna gelince , fcyerleş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 fcve satır düzenlemeyi gerektiren diğer modlar kutudan çıkmaz ( dashkendinizi 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.