― はじめての人でも迷わない基礎から実践まで ―
Linuxで作業していると、「もっと効率よくコマンドを使いたい」「よく使う処理を自動化したい」と感じる瞬間がありますよね。
そんな時に役立つのが エイリアス・関数・bash設定ファイル・シェルスクリプト といった仕組みです。
この記事では、これらを はじめての人でも迷わず理解できるように、丁寧に解説していきます。
「なんとなく難しそう…」と感じていた方も、読み終わる頃にはきっと使いこなせるようになります。
目次
1. シェル環境を便利にする「エイリアス」
エイリアスとは?
エイリアスとは、既存コマンドに「別名」をつけて短く呼び出せるようにする機能です。
たとえば:
ll → ls -l
といった具合に、省略して実行できてとても便利です。
現在のエイリアス一覧を見る
$ alias
エイリアスを登録する
$ alias greet='echo "Hello!"'
一時的にエイリアスを無効化する
$ \ls
エイリアスを削除したいわけじゃないけど「元コマンドを使いたい」時に便利です。
エイリアスを解除する
$ unalias greet
2. 複雑な処理もできる「関数」
関数とは?
ひとまとまりの処理を名前で呼び出せる仕組みです。
エイリアスでは対応しきれない複雑な処理に向いています。
関数の定義
function sample() { echo "Hello"; }
実用例:シンボリックリンクだけを一覧表示
function lssymlink() { ls -l $1 | grep '^l'; }
関数の内容確認
$ declare -f lssymlink
関数の削除
$ unset lssymlink
3. bash の設定ファイルを知っておこう
bashには、起動やログイン時に自動で読み込まれる設定ファイルが複数あります。
これを知っておくと、「どこに設定を書けばいいの?」という迷いがなくなります。
| 設定ファイル | 実行のタイミング | 役割 |
|---|---|---|
| /etc/profile | ログイン時 | 全ユーザー共通の設定 |
| ~/.bash_profile | ログイン時 | 個人ユーザー用設定 |
| ~/.bash_login | bash_profileがない場合に実行 | |
| ~/.profile | 上2つがない場合 | |
| ~/.bashrc | bashを開く度に実行(エイリアス・関数はここ) | |
| ~/.bash_logout | ログアウト時 | 後片付け |
エイリアス・関数は .bashrc に書く と覚えましょう。
4. ここからが本番!シェルスクリプトの基礎
シェルスクリプトとは?
コマンドを順番に書いた「自動実行できるファイル」です。
やりたい作業を全部記述してまとめて実行できます。
例:5回数字を出力するスクリプト
sample.sh
#!/bin/bash
echo '1'
echo '2'
echo '3'
echo '4'
echo '5'
実行方法は4種類
| 方法 | 例 |
|---|---|
| bashで実行 | bash sample.sh |
| sourceで実行 | source sample.sh |
| . コマンドで実行 | . sample.sh |
| 実行権限をつけて直接実行 | chmod +x sample.sh → ./sample.sh |
5. スクリプトに引数を渡してみよう
arguments.sh
#!/bin/bash
echo $1
echo $2
echo $3
実行例:
$ ./arguments.sh Taro Hanako
Taro
Hanako
代表的な変数も覚えておくと便利です。
| 変数 | 中身 |
|---|---|
| $1〜$n | n番目の引数 |
| $0 | スクリプト名 |
| $# | 引数の数 |
| $@ | 全引数 |
| $? | 直前のコマンド結果(0 = 成功) |
6. 入力を受け取る read コマンド
read.sh
#!/bin/bash
echo -n 'Enter your name:'
read name
echo "Welcome, $name!"
実行:
Welcome, Taro!
7. 条件によって処理を分ける if 文
if 文の基本形
if 条件式
then
処理
else
それ以外の処理
fi
よく使う test 条件(重要)
| 条件 | 意味 |
|---|---|
| -f ファイル | 存在するファイルか |
| -d ディレクトリ | ディレクトリ存在 |
| -e | ファイル/ディレクトリ存在 |
| -r/-w/-x | 読み・書き・実行可能 |
| -n 文字列 | 空じゃない |
| -z 文字列 | 空 |
| 数値比較 | -eq / -ne / -gt / -lt など |
実例
if.sh
#!/bin/bash
if test -f $1
then
echo 'File exists.'
else
echo 'File does not exist.'
fi
8. 値によって分岐する case 文
case.sh
case $str in
y) echo 'Good luck.' ;;
n) echo 'Game over.' ;;
*) echo "Please enter 'y' or 'n'." ;;
esac
メタキャラクタ(*, ?, [])も使えて便利。
9. くり返し処理 for / while
for 文
リストの値をひとつずつ処理します。
for num in 1 2 3
do
echo $num
done
seq で数字リストを生成
seq 5 10
→ 5〜10
for.sh
for num in `seq 5 10`
do
echo $num
done
while 文
条件を満たす間ずっと繰り返す。
while [ 条件 ]
do
処理
done
while.sh
while [ $num -ne 0 ]
do
read num
done
まとめ
この記事では、以下の内容を一気に学習しました。
- エイリアスでコマンド短縮
- bash関数で複雑な処理をひとまとめ
- 設定ファイルで環境を自動セットアップ
- シェルスクリプトで一連の処理を自動化
- 引数 / read / if / case / for / while の基本
- seq や test を使った便利な表現方法
最初は量が多く感じるかもしれませんが、どれも日常的に使う超重要な基礎です。
「ちょっと使ってみる」「繰り返し手を動かす」ことで、必ず自分のものになっていきます。



