pushd 不进入指定目录
pushd does not go into specified directory
我正在尝试使用 pushd
进入目录
#!/bin/bash
function cloneAll {
[ -d ~/mapTrials ] || mkdir ~/mapTrials
pushd '~/mapTrials/'
echo $(pwd)
popd
}
echo $(pwd)
为我提供了我从中调用脚本的相同工作目录。
我在其他 SO 答案中读到,pushd 仅适用于子进程,我必须为其创建别名。我也这样做过。
我尝试执行一些命令,例如 mkdir
以查看将在何处创建它。它是在我调用脚本的目录中创建的,而不是在 pushd
中指定的目录中创建的。
我如何让它工作?如何进入 shell 脚本中的特定目录,然后在该目录中执行命令??
提前致谢。
我想我发现了错误:
pushd '~/MapTrial'
单引号(以及双引号)阻止 ~
的扩展。将 "snake" 移出,它应该可以工作。例如:
pushd ~/'MapTrial'
或
pushd ~/MapTrial
我正在尝试使用 pushd
#!/bin/bash
function cloneAll {
[ -d ~/mapTrials ] || mkdir ~/mapTrials
pushd '~/mapTrials/'
echo $(pwd)
popd
}
echo $(pwd)
为我提供了我从中调用脚本的相同工作目录。
我在其他 SO 答案中读到,pushd 仅适用于子进程,我必须为其创建别名。我也这样做过。
我尝试执行一些命令,例如 mkdir
以查看将在何处创建它。它是在我调用脚本的目录中创建的,而不是在 pushd
中指定的目录中创建的。
我如何让它工作?如何进入 shell 脚本中的特定目录,然后在该目录中执行命令??
提前致谢。
我想我发现了错误:
pushd '~/MapTrial'
单引号(以及双引号)阻止 ~
的扩展。将 "snake" 移出,它应该可以工作。例如:
pushd ~/'MapTrial'
或
pushd ~/MapTrial