4

标题说明了一切。我只想知道输入什么命令将工作目录更改为在前面的 finder 窗口中打开的目录。

4

3 回答 3

6

我的回答是基于对如何在 Objective-C 和 Cocoa 中获取最前面窗口的路径的类似问题的回答(这显然来自 Mac OS X 提示提示,这可能是您的确切问题)。我已经测试了该命令,它也可以使用包含空格的目录路径。

cd "`osascript -e 'tell application "Finder" to POSIX path of (target of window 1 as alias)'`"

使用 bash?将此功能添加到您的 bash 配置文件中。

cdf () {
  finderPath=`osascript -e 'tell application "Finder"
                               try
                                   set currentFolder to (folder of the front window as alias)
                               on error
                                   set currentFolder to (path to desktop folder as alias)
                               end try
                               POSIX path of currentFolder  
                            end tell'`;
  cd "$finderPath"
}
于 2013-08-27T12:08:17.473 回答
3

使用 Finder 的insertion location属性也很有效——这会将工作目录更改为 Finder 中当前处于活动状态的文件夹(最后一次单击的窗口或桌面空间):

cd "`osascript -e "tell application \\"Finder\\" to get POSIX path of (insertion location as text)"`"

或者,将以下行添加到您的 bash 配置文件 (~/.bash_profile):

alias cdf='cd "`osascript -e "tell application \\"Finder\\" to get POSIX path of (insertion location as text)"`"'

于 2014-02-21T05:29:29.597 回答
0

在 Yosemite 中,我只需将文件夹从 Finder 窗口拖到码头上的终端图标顶部,终端就会打开到该文件夹​​。整齐是不是?不需要脚本或服务。

于 2014-11-17T19:00:07.997 回答