Тож мені було цікаво, як запускати ці два рядки коду кожного разу, коли закриваю відкритий екземпляр Terminal:
history -c
cat /dev/null > ~/.bash_history
Я export HISTFILE=5
при запуску, але все ще хочу це вимити, коли закінчу.
Я спробував трохи озирнутися в декількох місцях , і мені не пощастило .
Я запускаю Linux Mint, і тут також зазначу, що зіткнувся з подібною проблемою .bash_profile
; врешті-решт я виявив, що мені потрібно розмістити весь стартовий код .bashrc
, тому, можливо, це має щось спільне з цим. Ось мій .bash_logout
файл:
#!/bin/bash
# ~/.bash_logout: executed by bash(1) when login shell exits.
#this does nothing on exit...
echo 'logout'; sleep 2s
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
history -c
cat /dev/null > ~/.bash_history
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
Я намагався перевпорядкувати цей сценарій багатьма способами, я не впевнений, чи не розумію, як працює баш, і якщо що-небудь із цього працює в першу чергу. Чи те, що я запускаю, Xserver
змушує башти вважати Термінал чимось, що не є виходом при виході?
Це говорить про те, що я не ввійшов у систему, що мало б сенс:
$> shopt login_shell
login_shell off
shopt login_shell
говорить?
echo
команду на початку, перш ніж вона зробить щось інше, що могло б заважати виконаннюecho
запуску. Помилка може спричинити вихід сценарію до того, як він закінчиться.