Новые (логин) оболочки (окно) открывается в $ HOME вместо $ PWD (как и раньше) на macOS. Что дает?

Каждый раз, когда я открываю новое окно оболочки, меня приводят в мой домашний каталог, а не в текущую директорию, в которой я был, когда я дал команду открыть новое окно Terminal.app. У меня создается впечатление, что каждый новый экземпляр оболочки является оболочкой входа в macOS, если это какая-то помощь. Я сделал некоторые недавние изменения .bashrc, но ничего, что я могу сказать, не должен влиять на это. Я также добавил файл .inputrc (файл readline rc). Всю новую конфигурацию, которую я добавил, я нашел из надежных ресурсов в Интернете. В любом случае, вот новые конфигурации, которые я добавил в мой .bashrc:

## BETTER BASH HISTORY # tells readline to perform filename completion case-insensitively #bind "set completion-ignore-case on" # filename matching during completion will treat hyphens and underscores as equivalent; #+ requires completion-ignore-case on #bind "set completion-map-case on" # readline will display all possible matches for an ambiguous pattern at first #+ <tab> instead of 2x #bind "set show-all-if-ambiguous on" # Append to the history file, don't overwrite it shopt -s histappend # Save multi-line commands as one command shopt -s cmdhist # Record each line as it gets issued (aka "parallel history"?) PROMPT_COMMAND='history -a' # Yuge history. Doesn't appear to slow things down, so why not? HISTSIZE=500000 HISTFILESIZE=100000 # Avoid duplicate entries HISTCONTROL="erasedups:ignoreboth" # Don't record some commands export HISTIGNORE="&:[ ]*:exit:ls:history:cd:pwd" # Useful timestamp format HISTTIMEFORMAT='%F %T ' # ## Better, faster directory navigation # don't need to type cd, just path to cd; works for .., but not - #shopt -s autocd # invalid shell option name # dirspell and cdspell get bash to autocorrect minor spelling mistakes: # the former during tab completion, the latter in arguments already supplied to cd #shopt -s dirspell # invalid shell option name shopt -s cdspell # # by default, cd will look in the curdir for possible targets you might want to move into. # this behavior is defined by the environment variable CDPATH="." by default. # add more paths to this variable by separating them with a colon. # # native "jump" to directory from anywhere: we can define and export variables # containing paths to our most important directories and cd into them shopt -s cdable_vars 

Кроме того, вот файл inputrc, который я использую из источника: https://github.com/mrzool/dotfiles/blob/master/readline/.inputrc

 # set editing-mode vi # set keymap vi set bell-style none $if mode=vi set keymap vi-command "gg": beginning-of-history "G": end-of-history set keymap vi-insert "jj": vi-movement-mode "\Cw": backward-kill-word "\Cp": history-search-backward $endif # Use the text that has already been typed as the prefix for searching through # commands (ie more intelligent Up/Down behavior) "\e[A": history-search-backward "\e[B": history-search-forward # Completion tweaks set completion-ignore-case on set completion-map-case on set show-all-if-ambiguous on set mark-symlinked-directories on set match-hidden-files on # set visible-stats on set skip-completed-text on set colored-stats on # Allow UTF-8 input and output set input-meta on set output-meta on set convert-meta off # Bash-specific mappings and settings $if Bash Space: magic-space \Cw: backward-kill-word $endif 

Удалите / прокомментируйте эти строки:

PROMPT_COMMAND='history -a'

HISTCONTROL="erasedups:ignoreboth"

export HISTIGNORE="&:[ ]*:exit:ls:history:cd:pwd"

Комментирование вышеуказанных строк, похоже, решило проблему. Я подозреваю, что приложение или оболочка определяют, где вы раньше были, анализируя последний cd в history .