echo $환경변수이름
을 통해 값을 확인할 수 있다.zshrc
파일이나 .bashrc
파일의 내용에 설정하고자 하는 환경변수를 작성하고 저장한다echo $SHELL
→ 가장 먼저 Mac OS의 기본 셀을 확인해야하며, /bin/zsh
가 나올 경우 Z shell, /bin/bash
가 나올 경우 Bash shell이 기본 셀이다
vi ~/.zshrc
또는 vi ~/.bashrc
→ Z shell의 경우 .zshrc파일을, Bash shell의 경우 .bashrc 파일을 vi편집기로 생성하거나 오픈한다
i
→ vi 편집기에서 i를 눌러 insert 모드로 진입한다
export 환경변수명=환경변수값
→ 등록하고자 하는 환경변수명과 환경변수값을 입력한다
ESC 키
→ ESC 키를 눌러 insert모드를 종료한다
:wq
→ vi 편집기를 저장 후 종료한다
source ~/.zshrc
또는 source ~/.bashrc
→ Z shell의 경우 .zshrc파일을, Bash shell의 경우 .bashrc 파일을 source 명령어를 통해 환경 변수로 등록한다
printenv
또는 echo $환경변수명
→ 환경변수가 잘 등록되었는지 확인한다
→ printenv
: 모든 환경 변수 확인
→ echo $환경변수명
: 특정 환경 변수값 확인
JWT를 공부하던 중, JWT의 Secret Key를 Mac OS 시스템 환경변수 등록 방법으로 등록하였다
시스템 환경변수 자체는 잘 생성된 것 같은데, IntelliJ에서 application.yml
에서 변수 사용이 되지 않았다
Error creating bean with name 'jwtTokenizer': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'JWT_SECRET_KEY' in value "${JWT_SECRET_KEY}"
IntelliJ 내에 환경변수를 직접 등록하여 사용하는 방법으로 해결할 수 있었다
상단바 [Run] > [Edit Configurations...] > [Modify options] > [Environment variables] 활성화
활성화 된 Environment variables에서 오른쪽 버튼을 눌러, 환경변수명과 환경변수값을 등록해주면 된다
터미널에서 printenv
나 echo $환경변수명
를 통해 시스템 환경 변수가 잘 생성되었음을 확인하였지만,
IntelliJ의 [Environment Variables] > [system environment variables]
에 등록한 변수가 보이지 않는 것을 보니,
IntelliJ가 시스템 환경변수를 읽어오지 못하는 것 같다
Mac OS 시스템 환경 변수를 가져와서 사용하는 것은 아니긴 하지만, application.yml에 직접 Secret key를 작성한 것보다는 보안상 더 바람직할 것으로 생각된다