クリップボードに現在の時刻を送るシェルスクリプト(出来ました)

を作っているのですが。クリップボードにデータを代入する方法が分からず悩む。

一応、時刻の文字列の作成はこんな感じで作れる。

#!/bin/bash

y=`date +%Y`
m=`date +%m`
d=`date +%d`

time=`date +%T`

DATE=$y/$m/$d $time 

後はクリップボードにコピー出来ればいいんだけどなあ

2008/06/23 (月) 09:10:04

xclipでいけるらしいです。ただ日本語は無理らしい。日本語は扱わないから取り合えずはいいか。
xclipをインストールしてみる。

2008/06/24 09:13:07

xselというソフトでも実現出来るということなので、さっそく入れてみました。

sudo apt-get install xsel

このソフトは、マウスで選択した文字列を中クリックで貼り付けるPRIMARY機能と、(よくわからなかったけど、SECONDARY機能と、)クリップボードの機能を提供するものらしい。ちょっと説明が意味不明。

xsel - コマンドラインからXセレクションを操作する - Linux便利コマンド

で、2chシェルスクリプト総合スレの皆さんの力をお借りして、何とか完成。(Thanks! 2ch シェルスクリプト総合スレ User!)
#!/bin/sh

y=`date +%Y`
m=`date +%m`
d=`date +%d`
t=`date +%T`
DATE="$y/$m/$d/ $t"
echo $DATE | xsel -b -i 
こんな感じで、適当なファイル名.shと保存してやります。 一度 chmod -x で実行権限を与えてやり、sh ./(ファイル名.sh)を実行すれば利用できます。 ランチャに sh /home/userhoge/./(ファイル名.sh) と登録しておけば、アイコンをダブルクリックするだけで、現在の時刻がクリップボードにコピーされるようになります。さらに、パネルに登録しておけば、クリックするだけで時刻がクリップボードで使えるようになります。 なんとか実現することが出来ました。xselも便利なソフトに出会えてよかったよかった。

もっと短くすると

総合スレで、もっと短縮されたものがありましたので紹介。
#!/bin/sh
date "+%Y/%m/%d %T" | xsel -b -i
#!/bin/sh
date "+%Y/%m/%d %H:%M" | xsel -b -i