【问题标题】:Bash script pauses after starting program in background with i3blocks使用 i3blocks 在后台启动程序后,Bash 脚本暂停
【发布时间】:2020-07-17 12:35:11
【问题描述】:

我正在尝试在 i3blocks 中创建一个块,当我单击它时将启动 Spotify(如果它已关闭)。

它大部分工作正常,但是当 Spotify 启动脚本时,脚本会停止,直到 Spotify 关闭并且该块变得无用。

另外,如果我重新加载 i3,Spotify 将关闭。

我尝试在后台启动 Spotify (&) 并使用 disown 标志。但问题一直在发生,我也在 i3blocks 配置文件中尝试了同样的事情(在后台启动脚本)。

#!/bin/sh

if pgrep spotify >/dev/null

then

spotifycli --status

case $BLOCK_BUTTON in

1) spotifycli --playpause;;

2) spotifycli --prev;;

3) spotifycli --next;;

esac

else

echo 

case $BLOCK_BUTTON in

1) spotify & disown; sleep 3; spotifycli --play;;

esac

fi

【问题讨论】:

  • 我找到了解决方案,我忘记将 spotify 的输出重定向到 /dev/null。并且由于它没有给出 EOF,因此该块被卡在了 spotify 的输出中。

标签: bash i3


【解决方案1】:

我找到了解决方案,我忘记将 spotify 的输出重定向到 /dev/null。并且由于它没有给出 EOF,因此该块被卡在读取 spotify 的输出中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多