AppleScript:如何获取最顶层终端的当前目录
我想获取最顶层终端选项卡/窗口的当前目录(通过 AppleScript 或其他方式,这并不重要)。我怎样才能做到这一点?
I want to get the current directory of the topmost Terminal tab/window (via AppleScript or something else, it doesn't really matter). How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
另一个解决方案。
get_foregroundterminal_curdir_fast.scpt:
我使用 lsof 本身来获取相应终端窗口的 bash shell 的 PID。这比使用
fuser
快得多(毫秒与秒)。Another solution.
get_foregroundterminal_curdir_fast.scpt:
I use
lsof
itself to get PID of the bash shell of the corresponding Terminal window. This is MUCH faster than usingfuser
(milliseconds vs. seconds).我在发布有关如何在 Applescript 中查找当前目录的问题时被指出了这个问题,所以我发布这个答案是为了让未来引用的读者知道例外的答案有一个缺陷。
如果当前目录路径中有一个SPACE字符,那么它只返回(最后一个)SPACE字符之后的路径部分!
请改用这个简单的脚本,它可以处理每个路径:
告诉应用程序“终端”将 currentDirectory 设置为(执行 shell 脚本“pwd”)
I got pointed to the question when posting a question about how to find the current directory in Applescript so I'm posting this answer to let future referred readers know the excepted answer has a flaw in it.
If the current directory path has a SPACE character in it, then it only returns the portion of the path after (the last) SPACE character!
Use this simple script instead, it handles every path:
tell application "Terminal" to set currentDirectory to (do shell script "pwd")
好吧,我有一个解决方案。
get_foregroundterminal_proclist.scpt:
get_foregroundterminal_curdir.sh:
Ok, I have one solution.
get_foregroundterminal_proclist.scpt:
get_foregroundterminal_curdir.sh: