Linuxのスクリプトで、exportコマンドを利用しているのですが、
expoerコマンドの有効範囲についてわかる方がいたらお教えいただけますでしょうか。
有効範囲については、以下のURLを参照しました。
http://www.atmarkit.co.jp/ait/articles/0010/19/n …
例えば、
スクリプトAでは、
export HOGE_KEY='abcd'
スクリプトBでは、
export HOGE_KEY='efgh'
というスクリプトがあって、
両方Cronで実行するときに、
スクリプトAの処理中にスクリプトBが実行されても、
スクリプトの中で定義された変数であるから、スクリプトAの処理には
影響しない(スクリプトAではHOGE_KEY='abcd'のまま)との認識で良いのでしょうか。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
環境変数は、プロセス固有のデータで、異なるプロセス同士では全く独立で、プロセス内で変更しても他のプロセスには影響しません。
ということで、
>影響しない(スクリプトAではHOGE_KEY='abcd'のまま)との認識で良いのでしょうか。
は正しいです。
プロセス生成時には、環境変数の初期値としては、親プロセスの環境変数が引き継がれます(子プロセスで別のプログラムを起動する場合は変更して伝えることも可能)。
回答いただきありがとうございます。
>環境変数は、プロセス固有のデータで、異なるプロセス同士では全く独立で、プロセス内で変更しても他のプロセスには影響しません。
>
>ということで、
>>影響しない(スクリプトAではHOGE_KEY='abcd'のまま)との認識で良いのでしょうか。
>は正しいです。
認識が正しいとのことで、安心しました。
No.1
- 回答日時:
それこそやってみれば一発でわかるのでは?
//以下a.sh
#!/bin/sh
echo "a";
export HOGE_KEY='abcd';
echo $HOGE_KEY;
./b.sh
echo $HOGE_KEY;
./c.sh
echo $HOGE_KEY;
//以下b.sh
#!/bin/sh
echo "b";
echo $HOGE_KEY;
export HOGE_KEY='efgh';
echo $HOGE_KEY;
./c.sh
//以下c.sh
#!/bin/sh
echo "c";
echo $HOGE_KEY;
export HOGE_KEY='ijkl';
echo $HOGE_KEY;
として、./a.shを実行
回答いただきありがとうございます。
今考えると、
スクリプトにsleep入れたり、時刻をログに出力させるようにして
実際にCronで動かせばわかるような内容でした。
失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- その他(IT・Webサービス) スクリプトとスクリプト言語は同じ意味ですか? 1 2022/06/12 11:47
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- その他(プログラミング・Web制作) awkのtoupper() 1 2022/10/21 20:39
- その他(プログラミング・Web制作) 掲示板専用スクリプト(http://php365.com/)などを使わなくてもプログラミング言語のみ 4 2022/06/12 20:44
- その他(プログラミング・Web制作) 【Scratch(プログラミング)】スクリプトとは 1 2023/03/11 01:57
- HTML・CSS Google Search Consoleについて 1 2022/06/05 10:27
- その他(プログラミング・Web制作) sortの優先キーについて(スプレッドシート) 1 2023/01/17 17:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batである文字列内に特定の文字...
-
bashスクリプト
-
スクリプト中のexportコマンド...
-
Bシェル 文字列に含まれる特...
-
kshでのNULLの比較
-
shellスクリプトから別のshell...
-
if文について
-
ファイルから文字列を読み込む...
-
シェルスクリプトの変数の制限?
-
TOPコマンドで表示するCPU使用...
-
Dirコマンドでフォルダ内ファイ...
-
エクセルの表にヘンな枠が・・・
-
スクリプトのエラー「unexpecte...
-
空きIPアドレスを探す方法
-
pingは正常なのにtracerouteで...
-
IPアドレスだとPingが通るのに...
-
SONYの音楽ソフト「x-アプリ」...
-
bashでシングルクォート内の変...
-
AIXでの文字コード、改行コード...
-
net use /d の強制実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batである文字列内に特定の文字...
-
スクリプト中のexportコマンド...
-
shellスクリプトから別のshell...
-
bashスクリプト
-
シェルスクリプトの変数の制限?
-
kshでのNULLの比較
-
【sh】tee コマンドの代替方法
-
ファイルから文字列を読み込む...
-
シェルで and/or の優先順位に...
-
if文について
-
Bシェル 文字列に含まれる特...
-
Cシェルで標準エラー出力への...
-
cshの条件式について教えてくだ...
-
【シェルスクリプト】whileルー...
-
Cシェルプログラムで、あるディ...
-
ログインシェル時のSHELL環境変数
-
rubyで、バッククォートの中に...
-
【シェルスクリプト】 ローカル...
-
sh スクリプト ipアドレス形式...
-
シェルスクリプトでうるう年判定
おすすめ情報