Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
環境変数
Search
Takuya Tonaru
June 24, 2019
Programming
0
36
環境変数
環境変数の基本的な考え方や誤解されそうなポイントを解説した資料
Takuya Tonaru
June 24, 2019
Tweet
Share
More Decks by Takuya Tonaru
See All by Takuya Tonaru
マルチパラダイムプログラミング
flightonary
0
180
UEFI
flightonary
0
26
Other Decks in Programming
See All in Programming
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Oxlintはいいぞ
yug1224
5
1.4k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
Package Management Learnings from Homebrew
mikemcquaid
0
230
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
530
CSC307 Lecture 06
javiergs
PRO
0
690
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
ぼくの開発環境2026
yuzneri
0
240
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
730
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
The Curse of the Amulet
leimatthew05
1
8.7k
We Are The Robots
honzajavorek
0
170
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
The World Runs on Bad Software
bkeepers
PRO
72
12k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Paper Plane
katiecoart
PRO
0
46k
Transcript
環境変数 Takuya Tonaru
TL;DR プロセスの環境変数とは 設定情報を与える手段の1つで 起動された時点の 親プロセスの環境変数が コピーされる
設定情報を与える手段 プロセスが起動する環境・条件に 応じて動作を変えたいときに使う
設定情報を与える手段 方法はいくつかある ・環境変数 ・引数 ・設定ファイル ここではメリデメの議論はしない
親プロセスの環境変数が コピーされるとは?
直接の親からコピーされる systemd supervisor crond launcher app FOO=bar HOGE=fuga PATH=/bin HOGE=fuga
PATH=/bin LOCALE=ja
過程で変更されうる systemd supervisor crond launcher app FOO=bar FOO=bar 削除 HOGE=fuga
PATH=/bin HOGE=fuga PATH=/bin LOCALE=ja 自身で追加
どうやって設定するか? 親プロセスの仕様を調べる
ケース1:initプロセスで起動する systemd crond initdやsystemdなどinitプロセスには必ずお作法が用 意されている。コンテナ実行環境でもそれぞれお作法 がある。 どうやるかは公式マニュアル読む。
ケース2:ランチャーで起動する ランチャーが親からコピーされた環境変数を無視して 独自に設定しうる。仕様は調べなければわからない。 systemd supervisor crond launcher app
よくある質問 環境変数はユーザごとに設定するものじゃな いですか? 環境変数と(実行)ユーザは別の話です。 このような質問が出るのはサービスの起動と ログイン、それぞれの流れを知らないからだと 推測されます。
よくある質問 exportは環境変数を設定するコマンドじゃな いんですか? Bourne系シェルで環境変数を変更するため の組み込みコマンドです。 操作しているシェルとそこから実行する子プロ セスにしか影響しません。 それにcsh系やfishでは使えません。
よくある質問 起動するとき結局どこかにexportを書けばい いじゃないですか? なんでもシェルで書かれているわけありませ ん。先入観は捨てましょう。
END