複数のディレクトリを頻繁に行き来していると、何度も同じディレクトリ名をタイプするのが
だんだん億劫になってくるものです。 まぁマウスでコピペすれば良いって話もありますが…。
ちなみに、tcshの場合は 直前(1個前)のディレクトリを記憶していて、
%cd - で直前のディレクトリに戻れたりします。
これは便利なのですが、直前だけでは物足りない!!! もっと複数記憶させたいと言う人向けの設定です。
setと aliasのみの簡単なシェルスクリプトです。
set m0=$home set m1=""; set m2=""; set m3=""; set m4=""; set m5=""; set m6=""; set m7=""; set m8=""; set m9=""; alias cd 'cd \!*; set m9=$m8; set m8=$m7; set m7=$m6; set m6=$m5; set m5=$m4; set m4=$m3; set m3=$m2; set m2=$m1; set m1=$m0; set m0=$cwd' alias m1 'cd $m1 ; echo $cwd ' alias m2 'cd $m2 ; echo $cwd ' alias m3 'cd $m3 ; echo $cwd ' alias m4 'cd $m4 ; echo $cwd ' alias m5 'cd $m5 ; echo $cwd ' alias m6 'cd $m6 ; echo $cwd ' alias m7 'cd $m7 ; echo $cwd ' alias m8 'cd $m8 ; echo $cwd ' alias m9 'cd $m9 ; echo $cwd ' alias pwd 'echo $cwd' alias mls 'echo m0: $m0; echo m1: $m1; echo m2: $m2; echo m3: $m3; echo m4: $m4; echo m5: $m5; echo m6: $m6; echo m7: $m7; echo m8: $m8; echo m9: $m9'
○使い方
1. ディレクトリの記憶は cdで移動したときに勝手にやってくれる。(10個前以上は順次消去)
2. 記憶されたディレクトリリストを見たい場合は、 %mls を実行。
3. リストにあるディレクトリに移動したい場合は %m1~9 を実行。
4. リストにあるディクトリに何らかのアクセスをしたい場合は $m1~$m9 で。
○使用例
%pwd /home/user1/ %cd hoge %cd /home/user2 %cd foo %mls m0: /home/user2/foo/ (カレントディレクトリ) m1: /home/user2/ (1個前のディレクトリ) m2: /home/user1/hoge/ (2個前のディレクトリ) m3: /home/user1/ (3個前のディレクトリ) %m3 (m3に移動) %mls m0: /home/user1/ (カレントディレクトリ) m1: /home/user2/foo/ (1個前のディレクトリ) m2: /home/user2/ (2個前のディレクトリ) m3: /home/user1/hoge/ (3個前のディレクトリ) m4: /home/user1/ (4個前のディレクトリ) %ls aaa.txt bbb.txt %mkdir $m1/aaa (/home/user2/foo下にaaaディレクトリ作成) %cp -p aaa.txt $m1/aaa/ (/home/user2/foo/aaa下に aaa.txtをコピー)
かなり単純なシェルスクリプトですので、記憶するディレクトリの重複チェックとかは無いです (^^;;)
ログインシェルの設定ファイル、 .cshrcもしくは、.tcshrcの末尾にでも貼り付けておけば
多少は幸せになれるかもしれません :D
お使いの環境とかの相性とかもあるかもしれませんので、適当なファイルに saveして、
sourceで実行して試してからの方が良いかもしれませんね。
それではまた。
水も手間もいらない、枯れないお花、造花インテリアがプレゼントにはお勧めです♪
興味がある方は、アートフラワー(高級造花)販売まで宜しくお願い致します♪
ご近所さんブログ、アートフラワー画像集も宜しくです。