Novas shells (login) (janela) são abertas em $ HOME em vez de $ PWD (como costumavam fazer) no macOS. O que da?

3

Toda vez que eu abro uma nova janela do shell, sou levado ao meu diretório pessoal em vez do diretório atual em que eu estava quando dei o comando para abrir uma nova janela Terminal.app. Tenho a impressão de que cada nova instância de shell é um shell de login no macOS, caso isso seja de alguma ajuda. Fiz algumas mudanças recentes no bashrc, mas nada que eu saiba pode influenciar isso. Eu também adicionei um .inputrc (readline rc file). Toda a nova configuração que eu adicionei eu encontrei a partir de recursos sólidos online. De qualquer forma, aqui estão as novas configurações que eu adicionei ao meu .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

Além disso, aqui está o arquivo inputrc que estou usando da fonte: link

# 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
    "\C-w": backward-kill-word
    "\C-p": history-search-backward
$endif

# Use the text that has already been typed as the prefix for searching through
# commands (i.e. 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
  \C-w: backward-kill-word
$endif
    
por GH05T 29.03.2017 / 10:09

1 resposta

0

Remover / comentar estas linhas:

PROMPT_COMMAND='history -a'

HISTCONTROL="erasedups:ignoreboth"

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

Comentar as linhas acima parece ter resolvido o problema. Eu suspeito que o aplicativo ou o shell determina onde você estava anteriormente analisando o mais recente cd em history .

    
por 02.04.2017 / 23:59