如何在终端中打开应用程序并传递当前工作目录?

Posted

技术标签:

【中文标题】如何在终端中打开应用程序并传递当前工作目录?【英文标题】:How to open an app in terminal and passing the current working directory? 【发布时间】:2012-01-27 23:00:33 【问题描述】:

我经常想使用mate 命令打开我正在工作的整个目录,但是如何传入工作目录本身呢?

例如,如果我在 Rails 应用程序中工作,我想将应用程序文件夹打开到 TextMate 树中,我会做mate app,但我怎么能传入工作目录本身(即打开整个树中的 rails 应用程序)?

【问题讨论】:

那么你想让TextMate Project窗口扩展app文件夹的内容吗? 不,我只是想直接打开当前工作目录进入 textmate 【参考方案1】:

cd 命令设置的当前工作目录在shell变量PWD中可用,例如

echo $PWD

【讨论】:

【参考方案2】:
DIR=$(readlink -f $0);
IFS='/' read -a array <<< "$DIR";
apath=("$array[@]:0:$#array[@]-1");
rpath=$(IFS=/ ; echo "$apath[*]");
cd $rpath

【讨论】:

【参考方案3】:
# Assign the current work directory to the bash script variable 'CWD'.
CWD=$(pwd)

# Print it.
printf "%s\n" $CWD

【讨论】:

【参考方案4】:

mate . 将打开当前目录。我经常使用. 目录,例如打开当前目录open . 的查找器。

【讨论】:

【参考方案5】:
mate `pwd`/yourfile

mate `pwd`/app

或者你可以使用mate $PWD/app

【讨论】:

(评论已删除,我明白作者现在在问什么了)【参考方案6】:

获取当前目录就像输入pwdecho $PWD 一样简单。

现在,如果你想在特定目录中打开 TextMate,你可以这样做:

(cd /target/directory && mate)

【讨论】:

你不需要括号。【参考方案7】:

您可能正在寻找的命令是

pwd

【讨论】:

如果 cwd 与脚本所在的目录不同,这将不起作用。

以上是关于如何在终端中打开应用程序并传递当前工作目录?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 16.04下快速在当前目录打开终端的快捷键设置

使用当前工作目录在OSX上打开多个新的终端选项卡

mac系统如何在当前目录下打开终端

在终端中快速打开当前路径 - OpenInTerminal

超级方便 - Mac OS 在访达打开终端,并在终端内定位当前的目录

macOS中轻松实现Finder当前目录中快速打开终端