Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2914

ディレクトリ移動をするbashシェルスクリプト関数

$
0
0

よく使うディレクトリへの移動を簡単にするために
シェルスクリプトの関数を作ります。

作り方

  1. シェルスクリプトの関数を作る
  2. 起動時に関数を読み込むように、bashrcに記載する
  3. 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ディレクトリに移動しています。

参考にした記事


Viewing all articles
Browse latest Browse all 2914

Trending Articles