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
CSC307 Lecture 01
javiergs
PRO
0
690
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
320
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
AgentCoreとHuman in the Loop
har1101
5
240
Patterns of Patterns
denyspoltorak
0
1.4k
SourceGeneratorのススメ
htkym
0
200
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
430
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
BBQ
matthewcrist
89
10k
Navigating Team Friction
lara
192
16k
A better future with KSS
kneath
240
18k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
GitHub's CSS Performance
jonrohan
1032
470k
For a Future-Friendly Web
brad_frost
182
10k
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