harry’s memorandum

おれおれメモ

shell

ssh-copy-id: Bourne shell script text executable

ssh-copy-idは便利だね。何も考えたくなければこれでいいし。 $ ssh-copy-id myuser@example.com中身はシェルスクリプトだったりする。 $ file /usr/bin/ssh-copy-id /usr/bin/ssh-copy-id: Bourne shell script text executablecat /usr/bin/ssh-copy-id す…

base64の備忘録

とりあえず、base64をしたかったのですが、調べると色々な方法があるなぁ、と思ったので備忘録。 opensslコマンド 一番よく使う方法かな。 $ echo -n dharry | openssl enc -base64 ZGhhcnJ5 $ echo "ZGhhcnJ5" | openssl enc -d -base64; echo dharry base6…

単語を数える例のやつ

wordcountの例題は map/reduce でよくでてくるよね。 ruby rubyは便利。 array = %w(foo bar hoge foo foo bar fuga hoge) h = Hash.new(0) array.each {|e| h[e]+=1} p h #=> {"fuga"=>1, "foo"=>3, "hoge"=>2, "bar"=>2} perl perlも便利。初期化しなくて…

シェルスクリプトをコンパイルできるshcで遊んでみた

使うことはないかもしれない。でも面白いです。 shcをインストール $ sudo apt-get install shcなかったらソースをダウンロードしてコンパイルしてください。 $ wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz $ tar xvzf shc-3.8.7.tgz $ …

仕事がダラけてしまったのでシェルスクリプトでプログレスバーやってみた

やっぱ、プログレスバーがないと動いているのか分からなくてイラっとくるよね。というので、シェルスクリプトでプログレスバーを簡単にできないかな、と思い書いてみた。 progress() { _bar=$1; _bar=${_bar:=.} while : do jobs %1 > /dev/null 2>&1 [ $? =…

Bashの変数パラメータ展開はやっぱし便利

パターン照合演算子ってやつは便利だなーとしみじみ思ったので。バイト数だしたり $ x="/usr/share/apt/ubuntu-archive.gpg" $ echo ${#x} 33 切り出したり (${parameter:offset:length}) $ x="/usr/share/apt/ubuntu-archive.gpg" $ echo ${x:1:3} ${x:5:5}…

シェルの乱数の覚書

いろいろあるんだな、って思った。 $ echo $$ 25653 $ awk 'BEGIN { print PROCINFO["pid"] }' 26712 $ echo `date +%s` 1290451043 $ echo $RANDOM 28006 $ awk 'BEGIN{ srand(); print rand() }' 0.384664 $ awk 'BEGIN { srand(systime() + PROCINFO["pid…

知らなかったyesコマンドの真の力

yesコマンドとは? 'YES' - 妖精がみえてしまうジョンアンダーソンのプログレッシブバンドのことではありません。UNIX/Linux の yes コマンドを少しだけ語ってみたいと思います。yesコマンドってなんですか?という人はまずUNIX/Linuxのターミナルで'yes'と…

最近知ったLinux/UNIXの小技

最近知って結構ショックを受けた。 touch hoge.txt と似たような機能。*1 $ > hoge.txt $ ls -l hoge.txt -rw-r--r-- 1 root root 0 Jul 10 03:15 hoge.txt lessでtail -f ができる。 $ sudo less +F /var/log/messages SSHでリモートサーバに対して色々 リ…