2021년에 작성한 노트를 옮겨 적은 것입니다.
사용자가 로그인했을 때 적용되는 쉘이다
echo $0
의 값의 첫문자가 - 임
내 쉘 확인
song@song-gb:~/dev/test$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
song@song-gb:~/dev/test$ echo $SHELL
/bin/bash
로그인 쉘은 다음 순서로 횐경을 설정한다
profile들은 bash가 아니더라도 로그인 쉘이면 로드되고
bash들은 bash shell로 로그인 되었을 때 적용된다.
Dockerfile
FROM ubuntu18:04
ENV MY_NAME='song'
COPY ./app.py /app.py
ENTRYPOINT ["python", "/app.py"]
App.py
import os
name = os.getenv("MY_NAME", "ryu")
print(name)
Output
$ docker run myimage
song
$ docker run -e "MY_NAME=hui" myimage
hui
Pod spec
kind: Pod
apiVersion: v1
metadata:
name: app
spec:
containers:
- name: app
image: bash
env:
- name: MY_NAME
value: ryu