sourceコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

sourceはファイルに記載されているコマンドを実行するコマンドだ。

このページではファイルに記載されているコマンドを実行する方法を解説する。

sourceコマンドの基本

コマンドの基本動作

まずは、コマンドリストが記載されたファイルcomlist1.txtを用意する。

使い方は、次のとおりだ。では実際にsourceコマンドを使ってみよう。

$ source ファイル名

コマンドリストが記載されたファイルcomlist1.txtの内容を実行する場合は、次のコマンドだ。

$ source comlist1.txt

sourceコマンド

コマンドリストが記載されたファイルcomlist1.txtの内容を実行し、abcを表示した。

sourceコマンドにおけるファイルの実行権

sourceコマンドで指定するコマンドリストが記載されたファイルは実行権限が指定されていなくても構わない。

上で指定したファイル「comlist1.txt」をlsコマンドのlオプションで実行権限を確認する。

$ ls -l comlist1.txt

sourceコマンド

実行権限は設定されていない。

sourceコマンドの引数

sourceコマンドには引数を設定することができる。

はじめに次の通りのテキストファイルcomlist2.txtを用意する。

1行目に$1と記載したが、これが引数だ。

引数の2つめのものは$2、3つめの$3と繋がる。

引数を指定したsourceコマンドの使い方は、次のとおりだ。

$ source ファイル名 引数1 引数2 引数3…

引数に「Extra」と指定し、テキストファイルcomlist2.txtを実行するには次のコマンドだ。

$ source comlist2.txt Extra

sourceコマンド

$1の引数「Extra」が取り込まれ、「input=Extra」と表示された。

sourceコマンドでの変数の保持

sourceコマンドでは、実行したファイル内で扱われた変数の値が保持される。

上で指定したファイル「comlist2.txt」内の変数「vala」の値をechoコマンドで確認してみる。

$ echo $vala

sourceコマンド

変数「vala」の値は「Extra」と保持されている。

制御コマンドとの組み合わせ

sourceコマンドは何度も同じ動きをするときに、そのコマンドの流れをコマンドリストファイルに記載しておいて実行することで効率的な作業ができる。

例えば、ifコマンドと組み合わせれば、番号を引数で入力すれば品名と価格を表示するといったことが可能だ。

まず、ifコマンドを組み合わせたコマンドリストテキストのファイルcomlist3.txtを作成する。


$ source comlist3.txt 2
商品番号2の商品情報をsourceコマンドで表示する。

sourceコマンド

商品番号2の商品名と価格が表示された。

ifコマンドでは分岐を行うが、その他にもループ制御を行うforコマンドやwhileコマンドを組み合わせることで多彩な制御ができる。

source関連コマンド

最後にsourceコマンドに関連して、基本的なファイルからコマンドを実行のコマンドも紹介しておく

bashコマンド

コマンドリストが記載されたファイル#Pの内容を実行するが実行時の変数は保持しない。

ifコマンド

条件によって制御を分岐する。

forコマンド

制御を指定した回数繰り返す。

whileコマンド

条件が成立していれば繰り返す。

usermodコマンド

ユーザー情報を変更する。

まとめ

Linuxに限らずコンピュータでの操作は繰り返し操作が多い。

コマンドを一度に操作できるようにテキストファイルにまとめておいて、短いコマンドで何度も実行できるのが利用するメリットだ。

効率化のためにもぜひ活用しよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*