是否使用Bash将当前目录保存在变量中?

是否使用Bash将当前目录保存在变量中?,bash,variables,directory,Bash,Variables,Directory,我试图做的是找到当前工作目录并将其保存到一个变量中,这样我就可以运行export PATH=$PATH:currentdir+somethingelse。我不完全确定他们是否有一个默认包含cwd的变量 如何使用Bash将当前目录保存在变量中?这将当前工作目录的绝对路径保存到变量cwd: cwd=$(pwd) 在您的情况下,您只需执行以下操作: export PATH=$PATH:$(pwd)+somethingelse 对于相对的答案,请使用 使用以下各项进行测试: $ myDir=. $

我试图做的是找到当前工作目录并将其保存到一个变量中,这样我就可以运行
export PATH=$PATH:currentdir+somethingelse
。我不完全确定他们是否有一个默认包含cwd的变量


如何使用Bash将当前目录保存在变量中?

这将当前工作目录的绝对路径保存到变量
cwd

cwd=$(pwd)
在您的情况下,您只需执行以下操作:

export PATH=$PATH:$(pwd)+somethingelse

对于相对的答案,请使用

使用以下各项进行测试:

$ myDir=.
$ ls $myDir
$ cd /
$ ls $myDir

第一个
ls
将显示当前目录中的所有内容,第二个将显示根目录中的所有内容(
/
)。

您的作业有一个额外的
$

export PATH=$PATH:${PWD}:/foo/bar
还有一个变体:

export PATH=$PATH:\`pwd`:/foo/bar

我的.bash_配置文件中包含以下内容:

function mark {
    export $1=`pwd`;
}
因此,每当我想记住一个目录时,我就可以键入,例如,在那里标记


然后,当我想返回到那个位置时,我只需在那里键入cd$there

您可以在构建变量
PWD
中使用shell,如下所示:

export PATH=$PATH:$PWD+somethingelse

当前工作目录变量ie full path/home/dev/other

dir=$PWD
打印完整路径

echo $dir

类似于
标记的解决方案
,对变量进行一些检查。另外,我不喜欢使用
$variable
,而是使用我保存它的相同字符串

使用save dir
sdir myproject保存文件夹/目录
并使用goto dir
gdir myproject返回该文件夹

此外,检查native
pushd和popd
的工作方式,它们将保存当前文件夹,这便于来回查看。在这种情况下,您还可以在
gdir myproject
之后使用
popd
,然后再次返回

# Save the current folder using sdir yourhandle to a variable you can later access the same folder fast using gdir yourhandle

function sdir {
    [[ ! -z "$1" ]] && export __d__$1="`pwd`";
}
function gdir {
    [[ ! -z "$1" ]] && cd "${!1}";
}
另一个方便的技巧是在pushd中的goto dir函数中替换cd时,将两个pushd/popd、sdir和gdir组合起来。这使您在跳转到保存的文件夹时也可以飞回以前的文件夹

# Save the current folder using sdir yourhandle to a variable you can later access the same folder fast using gdir yourhandle

function sdir {
    [[ ! -z "$1" ]] && export __d__$1="`pwd`";
}
function gdir {
    [[ ! -z "$1" ]] && pushd "${!1}";
}

在BASH shell上,您可以非常简单地运行:

export PATH=$PATH:`pwd`/somethingelse

无需将当前工作目录保存到变量中…

因此要将其保存到变量中,我会执行mydir=?是的,刚刚用mydir=测试过。然后是ls$mydir-但是它是相对的,所以无论你在哪里运行它,它都是pwd,我有一些空间。t、 t${PWD}应该是有效的。哈哈。。。由于某种原因,如果我更改为另一个目录,这也会更新
cwd
变量。就像每次调用
pwd
函数一样。。。如何避免这种情况?
$CWD
可能是shell中的一个特殊(保留)环境变量。请尝试其他名称,例如使用反勾号的
$CWD\u MY\u VAR
。为什么不直接使用
“$PWD”
?效果很好,但对于带有空格的路径,例如“Google Drive”,您必须执行
cd“$foo”
对于要读取的整个路径,为了解决路径中的空格问题,请将
export$1=`pwd`
更改为
export$1=“`pwd`”
,然后在调用这些路径时,使用
cd“$foo”
而不仅仅是
cd$foo
mercergeoinfo:严格来说,
export$1=“`pwd`
中的引号是不需要的,由于分词不会发生在作业的右侧,尽管引用扩展名是一种习惯,但也可以在此处键入
cd