我正在尝试使用pushd进入目录
#!/bin/bash
function cloneAll {
[ -d ~/mapTrials ] || mkdir ~/mapTrials
pushd '~/mapTrials/'
echo $(pwd)
popd
}echo $(pwd)提供给我的工作目录与我调用脚本的目录相同。
我在其他的SO回答中看到,pushd只适用于子进程,我必须为它创建一个别名。我也这么做过。
我尝试执行一些命令,比如mkdir,看看它将在哪里创建。它是在我调用脚本的目录中创建的,而不是在pushd中指定的目录中创建的。
我该如何让它工作呢?如何进入shell脚本中的特定目录,然后在该目录中执行命令?
提前谢谢。
发布于 2017-03-07 16:51:57
我想我找到了错误:
pushd '~/MapTrial'单引号(以及双引号)阻止了~的扩展。把“蛇”移出去,它就会起作用了。例如:
pushd ~/'MapTrial'或
pushd ~/MapTrialhttps://stackoverflow.com/questions/42642904
复制相似问题