【Shell】変数にディレクトリパスをセットし、ディレクトリ作成とカレントディレクトリを変更する。

■作成するプログラムの仕様

▼前提条件

・ディレクトリは「/work」まで存在し、「test」ディレクトリは存在していないものとする。

▼処理概要

①ディレクトリパスを変数に格納する(絶対パス:/work/test)。

②変数(ABS_PATH)に絶対パス(/work/test)をセットしてディレクトリ(test)を作成する。

③変数(ABS_PATH)を使用してカレントディレクトリを「/work/test」に変更する。

④カレントディレクトリを表示する。

⑤変数(REL_PATH)に作成するディレクトリパス名(hoge)をセットし、ディレクトリを作成する。

⑥変数(REL_PATH)を使用してカレントディレクトリを「/work/test」に変更する。

⑦カレントディレクトリを表示する。

▼ディレクトリ階層イメージ図

絶対パス(/work/test)でtestディレクトリを作成

/work/testに移動

ディレクトリ名(hoge)のみでhogeディレクトリを作成

■使用するコマンド

コマンドオプション概要説明
mkdir-m 777ディレクトリを作成するコマンド。
オプション[ -m ]はパーミッションを設定する。
※今回は[777]フルコントロール
cdなしカレントディレクトリを変更するコマンド。
移動したいディレクトリ(相対パス・絶対パスどちらも可)
pwdなしカレントディレクトリを表示するコマンド。

■サンプルコード

#!/bin/bash

# ディレクトリパスを変数に格納する
ABS_PATH=/work/test

# ディレクトリを作成する(絶対パス)
mkdir -m 777 ${ABS_PATH}

# カレントディレクトリを変更する(絶対パス)
cd ${ABS_PATH}

# カレントディレクトリを表示する
pwd

# ディレクトリ名を変数にセット
REL_PATH=hoge

# ディレクトリを作成する(ディレクトリ名のみ)
mkdir -m 777 ${REL_PATH}

# カレントディレクトリを変更する(ディレクトリ名のみ)
cd ${REL_PATH}

# カレントディレクトリを表示する
pwd

※補足説明

#!/bin/bash
shebang(シバンもしくはシェバン)と呼ばれる。
作成したShellスクリプトを/bin/bashで実行することを指定している。

${WORD}
シェル変数に格納した値を表示(取得)する場合は、${変数}を使用する。

■実行結果

/work/test
/work/test/hoge
タイトルとURLをコピーしました