お兄ちゃん!
自作スクリプトは
関数を使って読みやすくなったけど
そもそもの記述量が減っていないから
分量が多くてやっぱり大変だよ!
それなら今回は
ドットコマンド
.
を学ぼう!
.
だけでコマンドなんだ?
それってどういうものなのかな?
ドットコマンド
.
は
ファイルに書かれた
内容を読み込むよ
. 読み込むファイルのパス
指定されたファイルの内容がその場にあるかのように使えるんだね読み込むファイルに何か特別な設定は必要なのかな?
実行権限は不要だけど読み込み権限は必要だよ
ドットコマンド
.
を使えばスクリプトを複数のファイルに分割して管理できるんだ例えば以下のようなスクリプトがあったとしよう
#!/bin/bash
# 変数設定
A=...
B=...
C=...
# 関数定義
function x() {
...
}
function y() {
...
}
function z() {
...
}
# 変数や関数を使った処理
...
変数や関数が増えたらこのファイルの内容はすぐに膨れ上がりそうだね実際私のスクリプトはそんな感じになっちゃったよ
そこでこれらを別ファイルに分けて必要な時に読むようにすると便利なんだ例えば以下のように分割して管理できるよ
# 変数設定
A=...
B=...
C=...
# 関数定義
function x() {
...
}
function y() {
...
}
function z() {
...
}
#!/bin/bash
# 他のファイルを読み込む
. ./variables
. ./functions
# 変数や関数を使った処理
...
それぞれのファイルは役割ごとに内容がまとまっていて分量が少なく読みやすくなったね!
ファイルを細かく分けすぎると逆に管理が煩雑になることがあるんだ自分が使いやすい粒度で分割するのがポイントだよ
source
コマンドドットコマンド
.
と同じ動きをするものにsource
があるんだ同じ動きなんだけど二つコマンドがあるんだ?
.
は短く書けるけど見落としやすいんだ.
と書く人が多い印象だけどsource
を使う人も一定数いるよどちらを使ってもいいんだね!
今回はドットコマンド
.
や source
でファイルの内容を読み込めることを学んだよ!スクリプトが大きくなって管理しづらくなったときはスクリプトの分割を考えよう個々のスクリプトの内容が短くなるので内容を把握しやすくなるよ!