【问题标题】:is possible to invoke installer on OSX knowing the package to install but not the volume name?是否可以在知道要安装的包但不知道卷名的情况下在 OSX 上调用安装程序?
【发布时间】:2023-04-07 12:03:01
【问题描述】:

我什至不确定是否可行,但我想通过符号链接从安装在我的 osx 上的卷中安装一个包。

名称每天都在变化,因为它带有标题上的时间戳,所以每天卷都会有不同的名称(这就是为什么我有一个符号链接来每天安装最新的一个)。

是否可以在不指定卷名的情况下运行安装程序?它已安装,但是当我尝试使用 *testdisk 访问它时(testdisk 是永不更改的卷的名称,日期紧随其后)我从安装程序收到错误,因为它找不到路径。

如果我可以在路径中使用通配符会很棒,所以无论卷名是什么,如果它获得卷名的一部分,它将指向该卷。

如果这不可能,我将只查找已安装的卷并从那里获取名称,并将其作为参数传递给安装程序;但如果安装程序能够做到这一点,我想避免它。

【问题讨论】:

    标签: macos


    【解决方案1】:

    这将为您提供驱动器名称

    ls -l /Volumes/*testdisk | awk '{print "/Volumes/"$11}'
    

    【讨论】:

    • 谢谢!我确实在检查常规方法,因为安装程序不会做任何花哨的事情。在 ls 之后使用简单的 grep 也可以使用 ls /Volumes | grep 'testdisk'
    • 如果您有明确的符号链接要解析(而不是它下面的某个路径,您可以在我的回答中使用pwd 技巧),您可以使用readlink 来解决它,例如readlink /Volumes/*testdisk。这比尝试解析ls ouptut 安全得多。
    【解决方案2】:

    您可以使用pwd -P(至少在 bash 和 zsh 中)打印给定符号链接的目录的路径。

    所以,这样的事情应该可以工作:installer -pkg ... -target "$(cd /path/to/target/symlink ; pwd -P)"

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 2010-12-17
      • 2018-04-06
      • 2013-03-27
      • 2018-12-01
      • 2015-08-20
      • 1970-01-01
      • 2018-10-08
      相关资源
      最近更新 更多