Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac终端将目录更改为当前前端查找器窗口_Macos_Unix_Terminal - Fatal编程技术网

Macos Mac终端将目录更改为当前前端查找器窗口

Macos Mac终端将目录更改为当前前端查找器窗口,macos,unix,terminal,Macos,Unix,Terminal,标题说明了一切。我只想知道输入什么命令将工作目录更改为front finder窗口中打开的任何目录。我的答案基于类似的答案(这显然来自Mac OS X提示提示,这可能就是您的确切问题)。我已经测试了这个命令,它也可以在包含空格的目录路径中工作 cd "`osascript -e 'tell application "Finder" to POSIX path of (target of window 1 as alias)'`" 使用bash?将此函数添加到bash配置文件中 cdf () {

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

我的答案基于类似的答案(这显然来自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"
}

使用Finder的
插入位置
属性也很有效–这会将工作目录更改为Finder中当前活动的文件夹(单击的最后一个窗口或桌面空间):

cd“`osascript-e”告诉应用程序\\“Finder\\”获取的POSIX路径(插入位置为文本)`”

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


alias cdf='cd'`osascript-e“告诉应用程序\\“Finder\\”获取POSIX路径(插入位置为文本)`'

在约塞米蒂,我只需从我的dock上终端图标顶部的Finder窗口拖动文件夹,终端就会打开到该文件夹。整洁,不是吗?无需脚本或服务。

请注意,有一些替代方案可供选择:1。如果您命令将文件或文件夹拖动到终端中,它将自动为您发送整个
cd
命令,2。您可以在Finder中启动,并使用上下文菜单使用“文件夹中的新终端”服务(在系统首选项>键盘>服务中启用)3在当前选定文件夹中打开终端。您可以将文件和文件夹拖到终端应用程序图标上或拖到终端窗口选项卡栏中,以在该位置打开新的终端。另请参阅,请注意,在“内联”版本中,“将myname设置为”是不必要的,因为您只希望它返回您不使用该变量的值。谢谢提示!我已经删除了多余的变量。如果我尝试在fish中使用它,它会告诉我:
fish:Unknown命令“insertion”
。。。有什么建议吗?@rassoh,fish的语法略有不同,因此您需要修改语句。有一个插件正好提供了这一点。@Linville哇,非常感谢您的提示!问题是,我可以构建一个更复杂的脚本。GUI快捷方式在这种情况下没有帮助。还有,有人已经提到了