クリップボードを監視してURLがコピーされればダウンロードするシェルスクリプト

クリップボードの文字取得はxclip
クリップボードの文字がURLでかつ変更されたら(新しくコピーされた),wgetでダウンロード。
これを無限ループさせとく。


ちょっと問題点があるのでもう少し考える。それにしてもシェルスクリプト嫌いだ。

追記 17:46


一応,今できてるヤツを書き残しておく

#!/bin/sh

download=""
while true
do
    clipboard=`xclip -o -selection clipboard`
    if [ ! "$download" ] || [ "$clipboard" != "$download" ];
    then
        case $clipboard in
            http://*)
                download=$clipboard
                echo $download
                wget -nc $download &
            ;;
        esac
    fi
    sleep 5
done


問題点としてスクリプトを動かした時点でクリップボードの文字列がURLの場合,ダウンロードするということ,
あと付け加えるとすればパターンマッチに拡張子の条件を加えること。


ちなみに,

xclip -o -selection primary

とすれば選択文字列を取得できる。

発見

上のスクリプトを書いてて発見したことなんだけど,wgetに改行区切りのURLを渡せば順にダウンロードしてくれるんだな。

Operaのリンクパネルで複数のリンクを選択して "Copy link address" をすれば改行区切りのURLがコピーされるので上のスクリプトが力を発揮する。と,思ったけど "Save to download folder" すればいいことか。