一部のスクリプトでは、現在カーソルの下にあるWordを取得する必要があります。
xdotool
または同様のツールで取得できますか?
現在のselectedテキストをコマンドで取得できます:
echo $(xclip -o -sel)
...しかし、最初にxclip
をインストールする必要があります:
Sudo apt-get install xclip
man xclip
から:
-o, -out
prints the selection to standard out (generally for piping to a file or program)
そして:
-selection
specify which X selection to use, options are "primary" to use XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD
here または、いつものようにman xclip
も参照してください。
コメントから、xclip
がlast選択を出力することがわかりました。選択されたものがもう何もない場合でも(たとえば、ファイルを閉じたとき) 。それはあなたの状況の問題のようです。
xsel
にもこの問題がありますが、回避することができます。現在の選択をスクリプトに読み込むだけでなく、also同じコンテンツをファイルに書き込みます。次に、new選択が最後の選択と異なるかどうかを確認できます。そうでない場合、新しい選択は行われず、コマンドが古い選択を生成する可能性が高いと結論付けることができます。その後、スクリプトに合格するように指示できます。
例(xsel
を使用します。この場合、わずかな利点があります):
#!/bin/bash
# make sure the file to store the last selection exists
f=~/.old_sel
touch $f
# get the previous & current selection
old=$(cat "$f"); new=$(xsel -o)
if [ "$old" != "$new" ]; then
# if selection changed, store the new selection to remember
echo "$new" > "$f"
# do the action, whatever that may be
echo $new
fi
xsel
をインストールする必要があると言う必要はありません。
Sudo apt-get install xsel