history
Komut dosyasının çıktısını bir komut dosyasında etkin bir kabuk oturumundan kullanmak istiyorsanız, önce komutu çalıştırmak için bir diğer ad kullanabilirsiniz. Ardından, aynı takma adda, komut dosyasının geri kalanını çağırabilirsiniz. Böyle bir yapılandırma ile, history
gerçek komut dosyasında komutun bulunmasıyla aynı sonucu elde edebilirsiniz .
Örneğin, komut dosyasının adının script.sh olduğunu varsayarak böyle bir takma ad oluşturabilirsiniz:
alias hy_tmp='history | tail -100 > /tmp/history.log ; bash /patch/to/script.sh'
Ve betiği şu şekilde değiştirin:
#!/bin/bash
cd /tmp
uuencode history.log history.txt | mail -s "History log of server" hello@hel.com
Bu soruyu ~/bash_history
, iki bilgisayarda dosyaları birleştirmek, sıralamak ve senkronize etmek için bir işlem yazarken buldum, böylece geçmişte kullandığım komutları aramak kolay olacak.
Kümülatif geçmiş dosyamı güncellemek için yeni bir kabukta oturum açmak zorunda kalmadan güncellemek çok daha az zor ~/bash_history
. Bir sunucuyu izlemek için, diğer cevaplarda belirtildiği gibi, bu kesinlikle çalışmaz.
Özellikle benim kullanımım:
alias hbye='history | cut -c 8- > /home/chris/.bash_history_c; bash /hby.sh
Komut dosyası hby.sh
daha sonra tüm ~/.bash_history*
dosyalardan tüm benzersiz girişleri alır .
histtest.sh: 5: set: Illegal option -o history