1. ホーム
  2. bash

[解決済み] Bashを使用して変数用のファイルを参照する方法は?

2022-04-22 12:17:31

質問

変数の設定ファイルを呼び出したいのですが、bashではどうすればいいのでしょうか?

そのため、設定ファイルには変数が定義されています (例: CONFIG.FILE) :

production="liveschool_joe"
playschool="playschool_joe"

そして、スクリプトはその中でこれらの変数を使用します

#!/bin/bash
production="/REFERENCE/TO/CONFIG.FILE"
playschool="/REFERENCE/TO/CONFIG.FILE"
sudo -u wwwrun svn up /srv/www/htdocs/$production
sudo -u wwwrun svn up /srv/www/htdocs/$playschool

bashにそのようなことをさせるにはどうしたらよいのでしょうか?awk/sedなどを使わなければならないのでしょうか?

どのように解決するのですか?

簡単な答え

を使用します。 source コマンドを使用します。


を使用した例です。 source

例えば

config.sh

#!/usr/bin/env bash
production="liveschool_joe"
playschool="playschool_joe"
echo $playschool

script.sh

#!/usr/bin/env bash
source config.sh
echo $production

からの出力に注意してください。 sh ./script.sh を、この例では

~$ sh ./script.sh 
playschool_joe
liveschool_joe

これは source コマンドは実際にプログラムを実行します。 の中にあるものはすべて config.sh が実行されます。


別の方法

内蔵の export コマンドや、環境変数の取得・設定でも実現可能です。

実行 exportecho $ENV は、変数へのアクセスについて知っておくべきことのすべてであるはずです。 環境変数へのアクセスは、ローカル変数と同じように行われます。

設定するには、次のようにします。

export variable=value

をコマンドラインで指定します。 すべてのスクリプトは、この値にアクセスできるようになります。