从bash脚本中查找OSX上的用户库文件夹?

时间:2014-07-30 21:13:34

标签: macos bash

显然,在OSX中找到存储应用程序数据的地方的正确方法是在ObjectiveC中调用

NSArray* theDirs = [[NSFileManager defaultManager] 
    URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask]

通常会返回/Users/<username>/Library/Application Support

如何从bash脚本中获取?是的我知道我可以这样做

DIR="${HOME}/Library/Application Support"

但这并不是真正做到这一点的正确方法。您应该询问操作系统,以便它可以为您提供实际目录。 (例如,可能在网络上?)。

是的,我想我可以写一个小的ObjectiveC应用程序只是为了返回那条路径,但我假设必须有一个标准的方法来做到这一点?

1 个答案:

答案 0 :(得分:6)

一种方法是使用AppleScript及其System Events帮助应用程序。 osascript允许您从命令行运行AppleScript:

DIR="$(osascript \
      -e 'tell application "System Events"' \
      -e 'get POSIX path of (path to application support folder from user domain)' \
      -e 'end tell')"
echo $DIR

--> /Users/nad/Library/Application Support