【问题标题】:Alfred Workflow Bash Script FailsAlfred Workflow Bash 脚本失败
【发布时间】:2019-12-16 15:33:33
【问题描述】:

我创建了一个脚本,使用 Spicetify 自动将我的 Spotify UI 从浅色主题切换到深色主题。这个脚本的代码可以在这里找到,

cd /Users/MY_ID/spicetify_data;

FILE=/Users/MY_ID/spicetify_data/nord.ini

if test -f "$FILE";
  then
    #We are in light mode, so switch us into dark mode.
    mv config.ini default.ini;
    mv nord.ini config.ini;
  else
    #We are in dark mode, so switch us into light mode.
    mv config.ini nord.ini;
    mv default.ini config.ini;
fi

spicetify update restart;

注意:这是在一个名为 replace.sh 的文件中

我尝试创建许多不同风格的 Alfred 工作流来让这个命令工作。如果我设置了一个 Alfred 工作流程以将其作为 Terminal Command 运行,我已经成功,但这将打开终端的许多实例,这是我想要避免的。所以 Alfred 说为了防止这种情况,我应该创建一个 Run Script 操作,但是当我尝试这样做时,什么都没有发生,并且 UI 主题不会改变(即使我使用 Terminal Command 设置它也会改变。

有谁知道我可以做些什么来尝试修复此工作流程并允许仅通过 Run Script 操作执行此脚本?

【问题讨论】:

  • 首先,检查文件是否被替换。您可以打开目录并触发 Alfred 中的脚本来查看此内容。其次,使用Spicetify 的完整路径。我怀疑它没有运行,因为它找不到它。
  • @CJK 感谢您帮助解决问题。贴在下面你可以找到解决方案!

标签: bash shell scripting alfred


【解决方案1】:

正如@CJK 向我指出的那样,我没有考虑到 Alfred 可能无法找到 Spicetify 的事实。所以我使用我的热键运行脚本。然后我手动运行了“spicetify update restart”命令,它成功更新了 Spotify 主题。

为了确保这会在 Alfred 工作流程中发生,我将调用 Spicetify 的最终命令更改为:

/usr/local/Cellar/spicetify-cli/0.9.5/bin/spicetify update restart;

现在,当我运行 Alfred 工作流程时,它会成功自动更改 Spotify 主题!

【讨论】:

  • 多田!在 Terminal 中,只需检查您是否找到了 spicetify 的最佳路径:输入 which spicetify 并按回车键,然后查看返回的路径。使用它。
【解决方案2】:

您可能希望投资于工作流的环境变量,而不是硬编码其中的路径,请参阅official documentation 以获取示例。

基本上你点击你的工作流程环境变量

然后根据需要设置PATH

在您的示例中,它类似于/usr/local/Cellar/spicetify-cli/0.9.5/bin

这使您的工作流程更加通用和可共享。

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2016-09-20
    相关资源
    最近更新 更多