以前紹介したzsh auto_pushd のシェルスクリプト

gd.shというの書いたのですが、少し改良しました。

改良した点はdirs -v -l で表示される重複したディレクトリは表示しないよう

にしたのと、逆順ソートにして最新のディレクトリが一番下に表示されるように

しました。改良時間は1時間くらいなのでうまく動かない場合があるかもしれませんが

その時はコメントお願いします。

では プログラムです。

ここから————–

#!/bin/sh
dirs -v -l | awk '{
    a[$1]=$2;
    b[$1]=$2;
}
END{
    for( i=0; i<NR; i++){
        work=a[i];
        checknum=0;
        for( j=i+1; j<NR; j++){
            if( work == a[j] ){
                b[j] = "skip";
            }
        }
    }
    for ( i=NR-1; i>-1; i--){
        if ( b[i] != "skip"){
            printf("%d %s\n",i,b[i]);
        }
    }
}'
echo 移動したい番号を選んでください。
read newdir
# 入力値に1をプラスし、その終了ステータスを判定する。
expr 1 + $newdir >/dev/null 2>&1
case $? in
    0 | 1 )var=`dirs -v -l |grep -w $newdir |awk '{printf("%s\n",$2)}'`
        cd $var;;
    * ) echo " 数字以外が入力されました >$newdir" ;;
esac

ここまで————–

関連する投稿

私のサブマシンはWindowsとopenSUSE10.3のデュアルブートで運用しているのだが、

パーティションが

  1. OS:Windows Vista ファイルシステム:NTFS
  2. OS:openSUSE10.3 ファイルシステム:ext3
  3. データ用 ファイルシステム:ext3

のような感じで分けていてopenSUSEが起動した時に、データ用のパーティション

をマウントしSambaサービスによって他のマシンからアクセスできるのような感じで運用していたのだが

Windowsで起動すると当然データ用のパーティションにアクセスできない。

データ用のファイルシステムをFATにすればLinux、Windowsどちらからでもアクセスできると思うのだが

1つのファイルのサイズが4GBと制限を受けてしまう。

これでは動画コレクションがいれられない。

ext3でこれまでどうり運用でいっかと思っていたところ、ネットを彷徨っていたら、タイトルにあるとおりLinuxでNTFSを読み書き

できるNTFS-3gというものがあるのを知った。これだ!!と思ったのでさっそく試してみました。

openSUSE10.3にはntfs-3gがすでにインストールされていた。ラッキー!!

あとはデータ用のパーティションをNTFSにフォーマットし

/etc/fstabに以下のように登録して再起動

/dev/sda3 /mnt/harddisk ntfs-3g locale=ja_JP.UTF-8 0 0

WindowsからもNTFSなので当然読み書きできる。

Linuxからも読み書きでき今までの設定を変えることなくSambaサービスも使えた。

NTFS-3gすげぇ~~!!

これで理想的な運用にまた一歩近づいた。よしっ!!

関連する投稿