使用bash将当前目录保存在变量中



我要做的就是找到当前的工作目录并将其保存到变量中,以便我可以运行export PATH=$PATH:currentdir+somethingelse。我不确定它们是否具有默认情况下包含CWD的变量。

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

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

cwd=$(pwd)

在您的情况下,您可以做:

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

我在.bash_profile中有以下内容:

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

所以每当我想记住一个目录时,我都可以输入,例如标记那里

然后,当我想返回该位置时,我只键入 cd $

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

dir=$PWD

打印完整的路径

echo $dir

您的分配有额外的$

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

对于相对答案,使用.

测试:

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

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

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

export PATH=$PATH:`pwd`/somethingelse

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

另外一个变体:

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

您可以使用Shell In-Build变量PWD,例如:

export PATH=$PATH:$PWD+somethingelse

类似于mark的解决方案,并检查了一些变量。我也不想使用$variable,而是我在

下保存的同一字符串

使用保存DIR sdir myproject保存文件夹/目录,然后使用goto dir gdir myproject

返回该文件夹

此外,请查看本机pushd and 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/popd和sdir和gdir组合在一起,然后在PushD中替换goto dir函数中的CD。这使您在跳到保存的文件夹时也可以飞回以前的文件夹。

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

带有@gerardw ans的提示,我在.bashrc中添加了以下内容,这也具有持久性:

function mark {
  cur=`pwd`;
  echo "export cur_project=$cur" > ~/.cur_project
  . ~/.cur_project
}
. ~/.cur_project
alias curp='cd $cur_project'

因此,cur_project变量可随时使用.bashrc或BASH命令。

alias curp='cd $cur_project'是为了以防万一有人想在任何时间切换到当前项目。

相关内容

  • 没有找到相关文章

最新更新