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