【Linux】環境変数をシェルスクリプトで設定

IT
  • やりたかったこと
    • Linuxに一時的な環境変数を設定し、その環境変数を参照するようなプログラムを実行させたい
  • 注意:ベストプラクティスでは無いと考えられます
    • (少なくとも僕の対応したケースでは)設定ファイルを持っておく、実行時に設定するなどもっとスマートな方法を本来行うべきケースでした
    • 諸事情あり、OSの環境変数に設定して、プログラム実行時にその環境変数から設定値を取る必要があったので調べました

実施手順

  1. シェルスクリプトの作成
  2. ファイルの権限変更
  3. sourceコマンドでシェルスクリプトの実行

1.シェルスクリプトの作成

  • .sh拡張子の空のファイルを用意
  • 1行目に#!/bin/bashを記載
  • そのファイルにターミナルで入力する要領でコマンドを入力
    • 今回はexportコマンドで環境変数を設定
!/bin/bash

export 【変数名】="変数設定値"

2.ファイルの権限変更

  • 作成したファイルに実行権限をつける
    • ターミナルでchmodコマンドを実行
chmod 755 【ファイル名】.sh

3.sourceコマンドでシェルスクリプトの実行

  • 通常シェルスクリプトを実行するだけなら、./【ファイル名】.shで実行可能
  • ただし、上記コマンドで実行した場合、環境変数がシェルスクリプト内でした有効ではなかった
    • シェルスクリプト実行後、同ターミナルで環境変数を確認しても設定されてない状態
  • シェルスクリプトで設定した環境変数をシェルスクリプト外でも有効にするためにsourceコマンドで実行
source 【ファイル名】.sh
  • printenv |grep 【変数名】で変数が設定されていればOK

参考URL

コメント

タイトルとURLをコピーしました