do_su_0805's blog

dairyquestions は typo です。

macOS VSCode Terminal .bashrc 読まれない

2020/12/21 20:36 追記

  • 同僚から、以下コメントをいただきました。

    Terminall.app だったら 一般 -> 開くシェル で コマンド (完全パス) で -i を渡せばいいんじゃないか
    iTerm2 は Profile の General タブの Command で渡すことができそうね

2020/12/21 20:21 追記

対応

  • 以下を .bash_profile に記載する。(やり方はまかせますが要はこうしてください)
### for interactive only shell
shopt -q login_shell

if [[ $? -eq 0 ]]; then
  source ~/.bashrc
fi

なぜ

  • ターミナルの起動には「インタラクティブシェル」「ログインシェル」がある
  • (詳しく調べてないが) terminal.app や iTerm2 起動時は「インタラクティブシェル」になる
  • VSCodeTerminal › External: Osx Exec 設定では Terminal.app が読まれるようになっている

何をしたの

  • ログインシェルかどうかを shopt -q login_shell で判別して、ログインシェルではなかったら .bashrc も読むようにした
    • これにより terminal.app や iTerm2 や VSCode が起動する Terminal でも .bashrc が読まれるようになった

試してない・調べてないもの

参考文献