如何解决在 KDE 中通过 KB 快捷方式调用 bash 脚本不会运行脚本中的所有命令
我是 bash 脚本的新手,需要帮助了解如何调试它。
这是一个 TTS 脚本,它使用 espek
TTS 引擎来朗读 xsel
的内容
它包含用户用光标突出显示的任何内容。
#!/usr/bin/env bash
if [ $(pgrep espeak) ]; then
killall espeak;
else
espeak "$(xsel)";
fi
当从终端 ./tts_script.sh
调用时,脚本运行良好。问题是当我尝试从我在 KDE 中设置的键盘快捷键调用它时。
我这样设置快捷方式...
我通过在顶部包含以下代码行来测试它
#!/usr/bin/env bash
espeak "hello there";
我用快捷方式调用了脚本,它确实说“你好”,但就是这样。
我能够确定,当从快捷方式调用脚本时,它会在遇到与 xsel
相关的任何事情时失败。
感谢任何帮助:)
解决方法
使用 xclip
而不是 xsel
解决了问题
#!/usr/bin/env bash
if [ $(pidof espeak) ]; then
killall espeak;
else
espeak "$(xclip -selection primary -o)";
fi
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。