gpt4 book ai didi

bash - 在终端命令错误时播放声音

转载 作者:行者123 更新时间:2023-12-02 22:23:46 26 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。



Improve this question




我是大学帮助台的学生经理,我们广泛使用 rsync 来备份用户机器上的数据。但是,我注意到的一个问题是,很多时候,我们会出现网络连接中断(这会导致向我们的备份服务器的任何正在运行的传输失败)。除非有人碰巧看到“管道破裂”错误,否则传输将被搁置,直到有人碰巧在第二天看到。

我的问题是:如果前一个命令返回错误,有没有办法让我播放声音? Ubuntu 或 OS X 上的解决方案将不胜感激。我知道使用 &&用于在成功运行后执行命令和 ;简单地运行另一个命令,但我不确定是否在失败时发出声音/不知道 trap将在 OS X/Ubuntu 上始终如一地工作。

感谢您的帮助!

最佳答案

Ubuntu 和 OS X 都有全功能 bash ,所以这里与陷阱管理没有区别。

我不详细了解 Ubuntu,但在 OS X 上,您可以使用以下命令:

  • afplay some.mp3 - 可以播放任何可以播放 QuickTime 的音频,例如 mp3、wav、aiff 等...
  • say -v Alex "message" - will to text2speech - 使用计算机生成的语音阅读消息

  • bot 命令可以用于:
    rsync ... || say -v Alex "Hey, Hudston we have an rsync problem at $(hostname)", or
    rsync ... || afplay "/Users/me/Music/iTunes/iTunes Media/Music/Michael Jackson/Bad/01 Bad.m4a"

    您需要使用 ||用于运行结果不成功的命令。最好的形式是作为一个函数,例如:
    #!/bin/bash

    err() {
    say -v Alex "$@"
    afplay "/path/to/music/file.mp3" &
    echo "$@" >&2
    return 1
    }

    rsync .. || err "rsync failed" || exit 1

    关于bash - 在终端命令错误时播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430940/

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