有没有办法在两个不同的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中的一个函数中。希望这能帮助到有类似问题的人!