よく使うディレクトリへの移動を簡単にするために
シェルスクリプトの関数を作ります。
作り方
- シェルスクリプトの関数を作る
- 起動時に関数を読み込むように、bashrcに記載する
- bashrcを再読込する
1. シェルスクリプトの関数を作る
移動先のディレクトリを、仮にhome/myname/Documents/myworkとします。
以下のように、ディレクトリ移動をする関数を作成します。
mywork.sh
#!/bin/bashfunction mywork(){cd /home/myname/Documents/mywork
}2. 起動時に関数を読み込むように、bashrcに記載する
~/.bashrcに以下を追記します。
~/.bashrc
source スクリプト/への/パス/mywork.sh
3. bashrcを再読込する
$source ~/.bashrc
使い方
作ったmywork関数が叩けるようになっているので、ターミナルで叩けばOK。
$ mywork # /home/myname/Documents/mywork へ移動することができる少し機能拡張
複数ディレクトリから選択する方法
よく使うするディレクトリが複数あるときは、
以下のように書くことで実現することができます。
mywork.sh
#!/bin/bashfunction mywork(){# 移動したいディレクトリのリストlocal WORKDIRS="
/home/myname/Documents/myworkA
/home/myname/Documents/myworkB
"# 配列に格納するlocal WORKINGDIR_ARRAY=(`echo${WORKDIRS}`)local DIRNUM=${#WORKINGDIR_ARRAY[@]}# ディレクトリ一覧を表示するlocal dir
local i=0
for dir in"${WORKINGDIR_ARRAY[@]}"do
echo"${i}: ${dir}"i=$((i +1))done# ディレクトリの選択を促すlocal n
read-p"Select directory number: " n
# 入力された値をチェックし、cdコマンドで移動するif[${n}-ge 0 -a${n}-lt${DIRNUM}];then
cd"${WORKINGDIR_ARRAY[${n}]}"else
echo"Invalid Number"fi}実行結果
$ mywork
0: /home/takumi/Documents/myworkA
1: /home/takumi/Documents/myworkB
Select directory number: 0 # 0を入力する
$pwd/home/takumi/Documents/myworkA
0番を入力したので、myworkAディレクトリに移動しています。