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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuya Tonaru
June 24, 2019
Programming
36
0
Share
環境変数
環境変数の基本的な考え方や誤解されそうなポイントを解説した資料
Takuya Tonaru
June 24, 2019
More Decks by Takuya Tonaru
See All by Takuya Tonaru
マルチパラダイムプログラミング
flightonary
0
180
UEFI
flightonary
0
27
Other Decks in Programming
See All in Programming
Feature Toggle は捨てやすく使おう
gennei
0
400
AI 開発合宿を通して得た学び
niftycorp
PRO
0
190
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
150
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
500
Coding as Prompting Since 2025
ragingwind
0
620
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
330
飯MCP
yusukebe
0
440
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
130
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
900
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.3k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
The Curse of the Amulet
leimatthew05
1
11k
From π to Pie charts
rasagy
0
160
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
420
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Side Projects
sachag
455
43k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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