対話的にディレクトリを移動するコマンドを作成する

スクリプト

パスの通ったディレクトリに下記のソースを配置する

to_script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /bin/sh
#usage: $ . repo
alias ssh="sshrc"
show_mainmenu()
{
while true; do
cat <<EOF
menu
1:開発環境(/path/to)
99:exit
移動するディレクトリのNo.を入力してください。
EOF
read ACT_MAIN
case ${ACT_MAIN} in
1)
echo '*****************'
echo '開発環境(/path/to)'
echo '*****************'
cd /path/to
break
;;
99)
echo '*****************'
echo 'exit'
echo '*****************'
break
;;
*)
printf "error : invalid key"
;;
esac
done
}
show_mainmenu

実行権限を与えておくこと
上記のスクリプトを実行するたけでは現在のディレクトリは変更されない

alias を設定する

.bashrc を編集

1
2
3
alias to='. to_script'
# もしくは
alias to='source to_script'

.bashrcの設定を有効化しておくこと

1
$ source .bashrc

実行

設定したら下記のコマンドによって移動したいディレクトリを選択しよう

1
$ to