我正在使用Tilix。当我打开一个新终端时,它会在~/
目录中打开(有时我需要10层)。
我想到了以下代码(将其放入我的~/.bashrc
文件中):
function cd() {
builtin cd $1 && pwd > ~/.last_dir
}
if [ ! -f ~/.last_dir ]
then
pwd > ~/.last_dir
else
cd $(cat ~/.last_dir)
fi
function end() {
if [ -f ~/.last_dir ]
then
pid_n=$(pgrep -c bash)
echo $pid_n > ~/test.txt
if [[ $pid_n -eq 1 ]]
then
rm ~/.last_dir
fi
fi
}
trap end EXIT
问题是:当我只有一个终端打开并执行exit
时,我得到文件~/test.txt
的值为2(如果我有2个终端打开并且我关闭了一个终端,我得到了3,依此类推。)
当我在终端中执行pgrep -c bash
或ps -C bash --no-headers | wc -l
时,我会得到正确的数字,这很奇怪。
如果有人可以帮助我,那就太好了!
规格: