---
title: 【公開】LPIC レベル1 対策第7章シェルとシェルスクリプト
tags: 
author: [Yukiko](https://docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/9J2911WRER.jpg?width=480
description: 新卒・未経験の学生向けエンジニア転職応援資料です。 もしよろしければご活用ください。  なお、ドクセルでスライドを表示する際に、一部レイアウトが崩れる場合があります。あらかじめご了承ください。
published: April 19, 26
canonical: https://docswell.com/s/yukiko_it/59NG8M-2026-04-19-010258
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/9J2911WRER.jpg)

LPIC レベル1 対策
第7章
シェルとシェルスクリプト
新卒・未経験・文系でも1週間で合格できる！図解でわかる超入門ガイド


# Page. 2

![Page Image](https://bcdn.docswell.com/page/DEY4ZZL5JM.jpg)

この章で学ぶこと
01
シェルとは？
02
エイリアス（alias）
03
setコマンド
04
独自関数（function）
05
bash設定ファイル
— OSの通訳
— コマンドのあだ名
— シェルの動作スイッチ
— コマンドをまとめる
— 設定を永続化する
06
シェルスクリプト基礎
— 手順書を作る
07
変数・引数・read
08
制御構造 if / case / for / while
09
条件式まとめ
— データを扱う
— 試験直前チェック


# Page. 3

![Page Image](https://bcdn.docswell.com/page/VJNY334478.jpg)

Section 01
シェルとは？
OSと人間をつなぐ「通訳」の役割を理解しよう


# Page. 4

![Page Image](https://bcdn.docswell.com/page/YE9P99Q4J3.jpg)

シェルとは？
① 図解イメージ
01
スマホで例えると → Siriみたいなもの！「音楽かけて」と言ったらiOSに伝えてくれるのがシェルの役割
ユーザー
シェル (bash)
カーネル
ハードウェア
コマンド入力
解釈・翻訳
実際の処理
実行
一言まとめ：シェル ＝ OSの通訳
主なシェルの種類（LPICではbashが中心！）
種類
特徴
LPIC頻度
bash
Linuxのデフォルト。最も一般的
★★★ 超頻出
sh
POSIXシェル。移植性が高い
★★ 頻出
zsh / csh / tcsh
拡張機能・C言語風など
★ 参考


# Page. 5

![Page Image](https://bcdn.docswell.com/page/GE8D99GVED.jpg)

Section 02
エイリアス（alias）
コマンドに「あだ名」をつけよう


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LELMWWGR7R.jpg)

エイリアス（alias）
① ② 図解＋簡単解説
02
家で例えると → 「お父さん」は本名の省略形！aliasもコマンドのあだ名（ニックネーム）
入力
シェルが変換
実際に実行
ll
ll → ls -la
ls -la
基本コマンド
alias ll=&#039;ls -la&#039;
llというあだ名でls -laを実行
alias
設定済みエイリアスの一覧表示
alias ll
llの定義を確認
unalias ll
エイリアスを削除


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4JMY99QPJW.jpg)

Section 03
setコマンドとシェルオプション
シェルの動作スイッチをON/OFFしよう


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PJR9GG8Y79.jpg)

setコマンドとシェルオプション
① ② 図解
03
家電で例えると → エアコンのリモコン！静音モードON/OFFみたいにシェルの機能をスイッチできる
set -o オプション名
set +o オプション名
VS
▲ オプションを ON（有効化）
▼ オプションを OFF（無効化）
試験頻出オプション（暗記必須！）
noglob
ワイルドカード（* ?）展開を無効にする
★★★
noclobber
リダイレクトで既存ファイルを上書き禁止
★★★
errexit
コマンド失敗で即シェル終了
★★
nounset
未定義変数を参照するとエラー
★★
xtrace
コマンドの展開過程を表示（デバッグ用）
★★


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PEXQXX84JX.jpg)

Section 04
独自関数（function）
コマンドをまとめて「自分だけの命令」を作ろう


# Page. 10

![Page Image](https://bcdn.docswell.com/page/3EK9WWKPED.jpg)

独自関数（function）
① ② 図解
04
料理で例えると → 「カレーを作る」の中に「野菜を切る→炒める→煮る→ルーを入れる」が入っている！
【関数定義】
function greet {
echo
&quot;Hello $1&quot;
}
【呼び出し】
【出力結果】
greet user1
Hello user1
↑ 引数: user1
$1 に user1 が入る
関数の操作コマンド
function greet { echo &#039;Hello&#039;; }
引数なしの関数定義
function greet() { echo &quot;Hello $1&quot;; }
引数あり（$1で受け取る）
declare -f greet
関数の中身を確認
unset greet
関数を削除


# Page. 11

![Page Image](https://bcdn.docswell.com/page/L73W11Z475.jpg)

Section 05
bash設定ファイル
設定を「永続化」するファイルを理解しよう


# Page. 12

![Page Image](https://bcdn.docswell.com/page/87DKXXR5JG.jpg)

bash設定ファイル
① ② 図解
05
会社で例えると →「規則集（全員共通）」と「自分のデスク設定（個人用）」のようなもの
全ユーザー共通
個別ユーザー専用
/etc/profile
~/.bash_profile
/etc/bash.bashrc
~/.bashrc
~/.bash_logout
読み込まれるタイミング早見表
ファイル
対象
タイミング
/etc/profile
全ユーザー
ログイン時
/etc/bash.bashrc
全ユーザー
シェル起動のたび
~/.bash_profile
個別ユーザー
ログイン時
~/.bashrc
個別ユーザー
シェル起動のたび
~/.bash_logout
個別ユーザー
ログアウト時


# Page. 13

![Page Image](https://bcdn.docswell.com/page/VJPKPPWDE8.jpg)

Section 06
シェルスクリプト基礎
コマンドの「手順書」を作って自動化しよう


# Page. 14

![Page Image](https://bcdn.docswell.com/page/2EVV228GEQ.jpg)

シェルスクリプト基礎 ① ② 図解
06
仕事で例えると → 毎朝のルーティン作業をマニュアル化！一度書けばボタン一つで全部実行できる
1
2
3
ファイル作成
実行権限を付与
実行
vi script.sh
chmod +x script.sh
./script.sh
拡張子は .sh
必須！忘れずに
必ず ./ をつける
最初のスクリプト（Hello World）
#!/bin/bash
echo &quot;Hello World&quot;
#!/bin/bash は「シバン（shebang）」
どのシェルで実行するかをOSに伝える1行目の必須の記述


# Page. 15

![Page Image](https://bcdn.docswell.com/page/57GLRRZDEL.jpg)

Section 07
変数・引数・read
スクリプトにデータを渡す方法を覚えよう


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4EQYVVLXJP.jpg)

変数・引数・read ① ② 図解
変数（値を入れる箱）
07
引数（外から渡すデータ）
read（対話入力を受け取る）
MY_VAR=&quot;Hello&quot;
./script.sh AA BB
read name
echo $MY_VAR
$1 → AA
→ キーボード入力待ち
→ Hello
$2 → BB
$name に保存される
変数名に $ をつけてアクセス
$1 $2 $3... で受け取る
ユーザーに入力させたいとき
引数の特殊変数（試験頻出！）
$0
スクリプト自身のファイル名
$*
すべての引数（1つの文字列）
$1, $2...
1番目・2番目の引数
$?
直前のコマンドの終了ステータス（0=成
功）
$#
引数の総数
$$
スクリプト自身のプロセスID（PID）


# Page. 17

![Page Image](https://bcdn.docswell.com/page/KJ4WMMD271.jpg)

Section 08
制御構造（if / case / for / while）
条件分岐と繰り返しでスクリプトを賢くしよう


# Page. 18

![Page Image](https://bcdn.docswell.com/page/LE1Y88ZK7G.jpg)

① 図解＋コード例
if文・case文
if文
— 条件分岐
08a
case文
— 多岐分岐
if [ 条件 ]
真（True）
then処理
if [ $age -ge 18 ]; then
echo &quot;成人です&quot;
elif [ $age -ge 13 ]; then
echo &quot;中高生です&quot;
else
echo &quot;子供です&quot;
fi
偽（False）
case $fruit in
&quot;apple&quot;) echo &quot;りんご&quot;;;
&quot;banana&quot;) echo &quot;バナナ&quot;;;
&quot;cherry&quot;) echo &quot;さくらんぼ&quot;;;
*) echo &quot;不明&quot;;;
esac
else処理
*） はどれにも当てはまらない場合のデフォルト処理
多くの選択肢がある場合にif-elifより case文 が読みやすい


# Page. 19

![Page Image](https://bcdn.docswell.com/page/GEWGZZ9PJ2.jpg)

for文・while文
for文
① 図解＋コード例
— アイテム繰り返し
08b
while文
— 条件付き繰り返し
while [ 条件 ]
for i in 1 2 3 4 5
do
echo &quot;Number $i&quot;
done
処理を実行
# 100回繰り返す（展開）
for i in {1..100}
条件が偽(False)になるまで繰り返す
条件が偽
{1..100} で100回繰り返せる
$(seq 1 100) も同じ結果
/dir/* でファイルをループ
do 〜 done の間を繰り返す
count=1
while [ $count -le 5 ]
do
echo &quot;Count: $count&quot;
count=$((count + 1))
done
ループ終了


# Page. 20

![Page Image](https://bcdn.docswell.com/page/47ZL1196J3.jpg)

Section 09
条件式まとめ
数値・文字列・ファイルの比較方法を整理しよう


# Page. 21

![Page Image](https://bcdn.docswell.com/page/YJ6WLLKLJV.jpg)

条件式まとめ
試験直前チェック！
数値の比較
09
文字列の比較
ファイルテスト演算子
-eq
等しい（equal）
=
等しい
-f
通常ファイルが存在する
-ne
等しくない（not equal）
!=
等しくない
-d
ディレクトリが存在する
-lt
より小さい（less than）
-z
文字列が空（zero）
-e
ファイル/ディレクトリが存在する
-le
以下（less than or equal）
-s
ファイルが空でない
-gt
より大きい（greater than）
-r
読み取り可能
-ge
以上（greater than or equal）
-w
書き込み可能
-x
実行可能
条件の組み合わせ（AND・OR・否定）
&amp;&amp;
AND：両方が真のとき真
[ -e file1 ] &amp;&amp; [ ! -e file2 ]
||
OR：どちらかが真のとき真
[ -f a ] || [ -f b ]
!
否定：真偽を反転
[ ! -f file.txt ]


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GJ5M11PMJ4.jpg)

Section 10
試験対策チートシート
よく間違えるポイントを最終確認！


# Page. 23

![Page Image](https://bcdn.docswell.com/page/9E29116R7R.jpg)

試験直前！よく間違えるポイント
✕
set -o でOFF、set +o でON
○
set -o でON、set +o でOFF（逆に覚えがち！）
✕
script.sh だけで実行できる
○
./script.sh と ./ をつける（またはフルパス）
✕
sourceも chmod +x が必要
○
source（ドットコマンド）は実行権限なしでOK
✕
引数は $a, $b で受け取る
○
引数は $1, $2, $3... で受け取る
✕
aliasは永続的に使える
○
シェル終了で消える → ~/.bashrc に記述で永続化
10


# Page. 24

![Page Image](https://bcdn.docswell.com/page/D7Y4ZZ95EM.jpg)

第7章 まとめ
この章で学んだこと
1
シェル：OSの通訳。人間のコマンドをカーネルへ届ける
5
設定ファイル：/etc/profile（全員）/ ~/.bash_profile（個人
）
2
alias：コマンドのあだ名。unalias で削除
6
スクリプト：chmod +x で権限付与→ ./ で実行
3
set -o：シェルの動作スイッチON（+oでOFF）
7
変数・引数・read：$1 $2 $# $? など特殊変数も重要
4
function：コマンドをまとめる自作命令。unset で削除
8
制御構造：if / case / for / while を使いこなそう


