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
33
環境変数
環境変数の基本的な考え方や誤解されそうなポイントを解説した資料
Takuya Tonaru
June 24, 2019
Tweet
Share
More Decks by Takuya Tonaru
See All by Takuya Tonaru
マルチパラダイムプログラミング
flightonary
0
170
UEFI
flightonary
0
25
Other Decks in Programming
See All in Programming
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
220
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
130
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
100
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
240
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
630
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
240
JetBrainsのAI機能の紹介 #jjug
yusuke
0
170
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
250
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
170
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Side Projects
sachag
455
43k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Testing 201, or: Great Expectations
jmmastey
44
7.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Documentation Writing (for coders)
carmenintech
73
5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Why Our Code Smells
bkeepers
PRO
337
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
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