簡體   English   中英

通過 KDE 中的 KB 快捷方式調用 bash 腳本不會運行腳本中的所有命令

[英]Invoking bash script via KB shortcut in KDE won't run all commands from the script

我是 bash 腳本的新手,需要知道如何調試它的幫助。

這是一個 TTS 腳本,它使用espek TTS 引擎說出xsel的內容,其中包含用戶用 cursor 突出顯示的任何內容。

#!/usr/bin/env bash

if [ $(pgrep espeak) ]; then
    killall espeak;
else
    espeak "$(xsel)";
fi

從終端./tts_script.sh調用該腳本時運行良好。 問題是當我嘗試從我在 KDE 中設置的鍵盤快捷鍵調用它時。

我設置了這樣的快捷方式...

  • go 到“系統設置>>快捷方式>>自定義快捷方式”
  • 選擇“編輯>>新建>>全局快捷方式>>命令/URL”
  • 選擇了鍵盤觸發器
  • 然后在操作選項卡下我把~/scripts/tts_script.sh

我通過在頂部包含以下代碼行來測試它

#!/usr/bin/env bash
espeak "hello there";

我用快捷方式調用了腳本,它確實會說“你好”,但就是這樣。 我能夠確定,當從快捷方式調用腳本時,一旦遇到與xsel的任何內容,它就會失敗。

  • 我可以查看任何調試日志嗎?
  • 有沒有其他方法可以調用腳本?
  • 有沒有其他方法可以在 KDE 中設置鍵盤快捷鍵?
  • 我的代碼是完全沒有意義的垃圾嗎?

任何幫助表示贊賞:)

使用xclip而不是xsel解決了問題

#!/usr/bin/env bash

if [ $(pidof espeak) ]; then
    killall espeak;
else
    espeak "$(xclip -selection primary -o)";
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM