Bash:当前目录变量

时间:2012-11-07 17:31:54

标签: bash

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

9 个答案:

答案 0 :(得分:156)

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

cwd=$(pwd)

在你的情况下,你可以这样做:

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

答案 1 :(得分:24)

我的.bash_profile中有以下内容:

function mark {
    export $1=`pwd`;
}

因此,只要我想记住一个目录,我就可以输入,例如标记

然后,当我想回到那个位置时,我只需输入 cd $那里

答案 2 :(得分:4)

您的作业有额外的$

export PATH=$PATH:${PWD}:/foo/bar

答案 3 :(得分:3)

对于相对答案,请使用.

测试:

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

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

答案 4 :(得分:1)

另一个变种:

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

答案 5 :(得分:0)

您可以使用shell in-build变量PWD,如下所示:

export PATH=$PATH:$PWD+somethingelse

答案 6 :(得分:0)

当前工作目录变量,即/ home / dev / other的完整路径

dir=$PWD

打印完整路径

echo $dir

答案 7 :(得分:0)

类似于mark的解决方案,但对变量进行了一些检查。另外,我不想使用$variable,而是使用我保存在下面的相同字符串

使用保存目录sdir myproject保存您的文件夹/目录,然后使用goto dir gdir myproject回到该文件夹​​

另外,检查本地pushd and popd的工作原理,它们将保存当前文件夹,这对于来回移动非常方便。在这种情况下,您也可以在popd之后使用gdir myproject,然后再次返回

# 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}";
}

另一个方便的技巧是,当您在pushed中的goto dir函数中替换cd时,将两个push / 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}";
}

答案 8 :(得分:0)

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

export PATH=$PATH:`pwd`/somethingelse

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