在 BASH 中,我使用“pushd .”命令将当前目录保存在堆栈上。在几个不同的目录中发出此命令后,我在堆栈上保存了多个目录,我可以通过发出命令“dirs”看到这些目录。例如,我当前 bash 会话中“dirs”命令的输出如下所示 -
0 ~/eclipse/src
1 ~/eclipse
2 ~/parboil/src
现在,要切换到第 0 个目录,我发出命令“cd ~0”。我想为此命令创建一个 bash 别名命令或函数。像“xya 0”这样的东西,它将切换到堆栈上的第 0 个目录。我编写了以下函数来实现这一点 -
xya(){
cd ~$1
}
上面函数中的“$1”是传递给函数“xya”的第一个参数。
但是,我收到以下错误 -
-bash: cd: ~1: 没有这样的文件或目录
你能告诉我这里出了什么问题吗?