gpt4 book ai didi

xcode - 使用 applescript 安装 ffmpeg

转载 作者:行者123 更新时间:2023-12-04 23:23:23 24 4
gpt4 key购买 nike

我正在尝试创建一个安装 ffmpeg 的 applescript。我有两个问题。

  • 我想一次安装一个 Xcode、homebrew、ffmpeg、node、授予权限和 ffmpeg-progressbar-cli。不是一次全部,而是按这个顺序。 ffmpeg 依赖于 xcode,因此在 xcode 安装完成之前需要等待。
  • homebrew 命令需要 "哪个 applescript 让我更改为 '在我可以运行它之前,但在这种情况下它不起作用。

  • 这是我到目前为止的脚本。
    tell application "Terminal"
    do script "xcode-select --install && ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" && brew install ffmpeg && brew install node && sudo chown -R $(whoami) /usr/local/bin /usr/local/etc && npm install --global ffmpeg-progressbar-cli"
    activate
    end tell

    我试过这个,它似乎没有按预期工作。
    tell application "Terminal"
    do script "sudo chown -R $(whoami) /usr/local/bin /usr/local/etc && xcode-select --install"
    display dialog "Select OK once Xcode has installed" buttons {"OK"} default button 1
    do script "ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)""
    display dialog "Select OK once Homebrew has installed" buttons {"OK"} default button 1
    do script "brew install ffmpeg"
    display dialog "Select OK once ffmpeg has installed" buttons {"OK"} default button 1
    do script "brew install node"
    display dialog "Select OK once node has installed" buttons {"OK"} default button 1
    do script "npm install --global ffmpeg-progressbar-cli"
    display dialog "Select OK once ffmpeg-bar has installed" buttons {"OK"} default button 1
    activate
    end tell

    对于第二个问题,它需要
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    但applescript让我把它改成
    ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'
    单引号不起作用。

    帮助和建议apreciated!

    最佳答案

    好的,请尝试以下脚本,但请参阅以下注意事项:

    shellScriptHandler("xcode-select --install", false)
    shellScriptHandler("sudo chown -R $(whoami) /usr/local/Cellar", true)
    shellScriptHandler("ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\" <<< " & return, false)
    shellScriptHandler("sudo chown -R $(whoami) /usr/local/var/homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions", true)
    shellScriptHandler("/usr/local/Homebrew/bin/brew install ffmpeg", false)
    shellScriptHandler("/usr/local/Homebrew/bin/brew install node", false)
    shellScriptHandler("sudo chown -R $(whoami) /usr/local/bin /usr/local/etc", true)
    shellScriptHandler("/usr/local/bin/npm install --global ffmpeg-progressbar-cli", false)

    on shellScriptHandler(command, usesAdmin)
    log command
    (*
    The try block catches any errors and reports them; the user can choose
    to continue execution if it's a warning, or cancel execution outright.

    The 'eval' statement forces do shell script to read the standard
    interactive $PATH variable, so that it sees /user/local/, otherwise it
    can't find the files it needs.
    *)
    try
    do shell script "eval `/usr/libexec/path_helper -s`; " & command administrator privileges usesAdmin
    on error errstr
    display dialog errstr buttons {"Continue", "Cancel"} default button "Continue"
    end try
    end shellScriptHandler

    注意事项:
  • 如果之前安装了 homebrew,第一行可能会因为权限错误而失败;在我的系统上,它试图将 Xcode 包中的某些内容复制到/usr/local/Homebrew/.git/...,但需要 root 权限。我通过完全删除文件夹/usr/local/Homebrew 解决了这个问题,但这对于一般情况来说可能有点激烈。您必须查看问题是否再次出现。
  • 我添加了几个 chown第 2 行和第 4 行中的命令。当我运行 ruby​​ 脚本和 brew install... 时,这些作为错误弹出。 .您可能会根据不同系统中的特性遇到其他此类错误,但添加更多此类命令以理顺/usr/local 中的权限应该没有什么坏处。
  • 该脚本应该以最少的用户交互运行,但它确实需要偶尔输入“ok”或密码输入。这些可以自动化,但我不确定它是否值得。
  • 关于xcode - 使用 applescript 安装 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60012594/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com