- やりたかったこと
- Linuxに一時的な環境変数を設定し、その環境変数を参照するようなプログラムを実行させたい
- 注意:ベストプラクティスでは無いと考えられます
- (少なくとも僕の対応したケースでは)設定ファイルを持っておく、実行時に設定するなどもっとスマートな方法を本来行うべきケースでした
- 諸事情あり、OSの環境変数に設定して、プログラム実行時にその環境変数から設定値を取る必要があったので調べました
実施手順
- シェルスクリプトの作成
- ファイルの権限変更
source
コマンドでシェルスクリプトの実行
1.シェルスクリプトの作成
.sh
拡張子の空のファイルを用意
- 1行目に
#!/bin/bash
を記載
- そのファイルにターミナルで入力する要領でコマンドを入力
!/bin/bash
export 【変数名】="変数設定値"
2.ファイルの権限変更
chmod 755 【ファイル名】.sh
3.sourceコマンドでシェルスクリプトの実行
- 通常シェルスクリプトを実行するだけなら、
./【ファイル名】.sh
で実行可能
- ただし、上記コマンドで実行した場合、環境変数がシェルスクリプト内でした有効ではなかった
- シェルスクリプト実行後、同ターミナルで環境変数を確認しても設定されてない状態
- シェルスクリプトで設定した環境変数をシェルスクリプト外でも有効にするために
source
コマンドで実行
source 【ファイル名】.sh
printenv |grep 【変数名】
で変数が設定されていればOK
参考URL
- シェルスクリプトの書き方を調べた
- chmoodコマンドについて調べた
- 環境変数を設定する
export
コマンド
- シェルスクリプト実行外で反映させるためにsourceを使用
コメント