在不同的Bash终端之间共享堆栈



有没有办法在两个不同的bash终端窗口之间共享堆栈?

因此,如果我在一个终端窗口中执行pushd(或等效的(,然后在另一个窗口中执行popd,它将访问相同的堆栈。

这将非常有用。提前感谢!

通过编写几个bash脚本解决了这个问题。

gpushd(全局pushd(

#!/bin/bash
filename="$HOME/.gstack.dirs"
newdir=$(readlink -f "$1")
if [ "$newdir" != "" ]; then
echo $newdir >> $filename
else
newdir=$(readlink -f ".")
echo $newdir >> $filename
fi

gpopd(这需要放在.bashrc中(

function gpopd() {
filename="$HOME/.gstack.dirs"
dir=$(tail -n 1 $filename)
sed -i '$ d' $filename
if [ "$dir" != "" ]; then
cd "$dir"
fi
}

我想把两者都放在/usr/bin中,但gpopd无法更改目录,所以不得不移到.bashrc中的一个函数中。希望这能帮助到有类似问题的人!

最新更新