Clipboard

如何避免xsel將文本發送到帶有空格/最後輸入的剪貼板

  • April 8, 2021

我正在嘗試回答另一個問題:啟動終端的命令/腳本,輸入文本但不執行…。我想在不執行的情況下啟動終端並向其添加特定文本,從而允許我在執行之前將一些其他變數文本複製到它。就像粘貼sudo apt install mpv到終端時沒有空格一樣:命令不會啟動,但允許例如添加要安裝的其他程序。

我已經接近解決方案xsel,它可以通過快捷方式向終端發送命令。

要使用的命令可以是

bash -c "xsel -ib <<< 'MY_TEXT'"

或者

bash -c "xsel -p <<< 'MY_TEXT'"

因此,我可以使用一個快捷方式將該文本發送到剪貼板,使用另一個快捷方式打開終端,然後xsel將複製的內容粘貼到剪貼板。

問題是該xsel命令將帶有空格或 Enter 的文本發送到剪貼板

在此處輸入圖像描述

MY_TEXT 不是MY_TEXT

sudo apt install mpv 這就像自動執行安裝命令和sudo apt install mpv等待我按輸入之間的區別。

這裡的字元串附加了一個換行符。如果您避免這種情況,您將不會在粘貼的文本中獲得換行符:

bash -c 'printf "%s" "MY_TEXT" | xsel -p'

引用自:https://unix.stackexchange.com/questions/644140