2020/12/21 20:36 追記
- 同僚から、以下コメントをいただきました。
Terminall.app だったら 一般 -> 開くシェル で コマンド (完全パス) で -i を渡せばいいんじゃないか
iTerm2 は Profile の General タブの Command で渡すことができそうね
2020/12/21 20:21 追記
- VSCode に限った話でよければ、 vscodeのterminalで.bash_profileが読み込まれない - Qiita の方が正しそうでした。以下は概念解説みたいな話になってしまった。
対応
- 以下を
.bash_profile
に記載する。(やり方はまかせますが要はこうしてください)
### for interactive only shell shopt -q login_shell if [[ $? -eq 0 ]]; then source ~/.bashrc fi
なぜ
- ターミナルの起動には「インタラクティブシェル」「ログインシェル」がある
- インタラクティブシェルの時は
.bash_profile
は読まれるが.bashrc
は読まれない
- インタラクティブシェルの時は
- (詳しく調べてないが) terminal.app や iTerm2 起動時は「インタラクティブシェル」になる
- VSCode の
Terminal › External: Osx Exec
設定ではTerminal.app
が読まれるようになっている
何をしたの
- ログインシェルかどうかを
shopt -q login_shell
で判別して、ログインシェルではなかったら.bashrc
も読むようにした- これにより terminal.app や iTerm2 や VSCode が起動する Terminal でも
.bashrc
が読まれるようになった
- これにより terminal.app や iTerm2 や VSCode が起動する Terminal でも
試してない・調べてないもの
- そもそも terminal.app や iTerm2 の起動時にインタラクティブシェルにする方法