パチッパチッ - mountラッパ
mountとumountって、普通はスイッチみたくON/OFFするだけだよな。2つのコマンドをわざわざ使い分けるのが面倒だ。
現在の状態見て適当にmountとumountを使い分けて欲しい。(mountオプションを変更するようば場合にmountしたままでmountコマンドを実行する必要があるので、mountとumountを1つにせよと言っているわけではないんだけど。)
ということで、mountとumountのラッパーを作ってみた。以下をファイル名mntとして保存する。
#!/usr/bin/env ruby # -*- ruby -*- # # $Id: mnt,v 1.2 2005/02/28 19:39:44 s-tanaka Exp $ # def mounted `df`.split(/\n/)[1 .. -1].collect {|l| l.split(/\s/)[-1] } end def usage puts 'usage: mnt [dir]' exit 1 end ARGV[0] or usage dir = '/mnt/' + ARGV[0] cmd = (mounted.include?(dir)) ? 'umount' : 'mount' puts "#{cmd} #{dir}" exec cmd, dir
例えば、
$ cat /etc/fstab ... /dev/sd0e /mnt/usb msdos rw,noauto 0 0 ...
のようにUSBメモリを/mnt/usbにmountするとして、mntコマンドを実行してみる。
$ mnt usb mount /mnt/usb $ df Filesystem 1M-blocks Used Avail Capacity Mounted on /dev/wd0a 495 316 153 67% / /dev/wd0e 5954 3740 1916 66% /usr /dev/wd0f 2997 2586 260 90% /home /dev/sd0e 29 4 25 15% /mnt/usb $ mnt usb umount /mnt/usb
mntコマンドを使うと、zshとかbashとかでCtrl-Rで履歴を検索するときに「あー、mountコマンドの履歴を検索したいのにumountしか見付からんよー、いらいら」ということがなくなる。