普段よく使うシェルスクリプト
なんか一部激しく間違った使い方をしているような気がする。
rrn
$ rrn
#!/bin/sh rm *~
Shiftキー押しながら右手の小指で~を押すのって結構やりにくいので。
右手だけで押せないこともないけど、それだと手首をひねらないといけないのでそれはそれで嫌だ。
pon
$ pon >>> $ pon test.py
#!/bin/sh if [ -z $1 ]; then python elif [ -n $1 ]; then python "$1" fi
pythonってうちにくい。ただそれだけ。
rmremovecommit
$ rmremovecommit (ファイル名)
#!/bin/sh rm $1 cvs remove $1 cvs commit $1
話は変わるけど、CVSってremoveしてもファイルのログは残るんだよね。
apt-update_grade
$ apt-update_grade
#/bin/sh
apt-get update
apt-get upgrade
upgradeはupdateの後じゃないと意味ないので。
cubicssh
$ cubicssh
#!/bin/sh
ssh cubicdaiya.no-ip.info
環境変数設定しろよと言われそうだけど、それでもこっちの方が速い。2, 3文字打てば後はTabキー。
kitccvs
$ kitccvs checkout wikitcc $ kitccvs update $ kitccvs commit
#!/bin/bash if [ -z $2 ]; then cvs -d :ext:(アカウント)@(ドメイン):(リポジトリへのパス) "$1" elif [ -n $2 ]; then cvs -d :ext:(アカウント)@(ドメイン):(リポジトリへのパス) "$1" "$2" fi
書いた後で気づいたけど、updateとかcommitするときは普通にcvs updateとかcvs commitでも問題ない。
しかし、↑でも特に問題ないのでそのまま。環境変数設定以下略(cubicsshに同じ)
chownmod
$ chownmod (ファイル名)
#!/bin/bash chown -R username "$1" chmod -R (パーミッション) "$1"
同じPCにインストールしてあるWindowsからLinuxにファイルを持ってきた後に使う。
mvmusicfn
$ mvmusicfn *.mp3
#!/usr/bin/ruby #Windows Media Playerで取り込んだ音楽ファイル名から無駄な数字を取り除く array_fn = ARGV array_fn.each do |s| ss = s.gsub(/^[0-9]{2,2}\s/, "") File.rename(s, ss) end
WMPで取り込んだ音楽ファイルは勝手に番号がファイル名の先頭に付くのでそれを取り除くために使ってる。
ちなみにこれだけRubyなのはシェルスクリプトだと恐ろしく面倒だということに書いてて気づいたため。
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2005/02
- メディア: 単行本
- 購入: 2人 クリック: 74回
- この商品を含むブログ (13件) を見る
そういや、シェルスクリプトの本って読んだことないなあと思いつつ、実家の近くの本屋で衝動買い。
これ読み終わったらzshに挑戦してみようかな。しばらく積んでそうですが。