История команды Bash не работает

Ваш процесс (называемый $$) имеет «Текущий каталог», ~/Downloads.

Когда вы ./cd-backward, этот скрипт Bash запускается в своем собственном процессе, который имеет свой собственный «Текущий каталог», который начинается с ~/Downloads.

cd .. влияет на «Текущий каталог» процесса ./cd-backward, меняя его на ~, но НЕ влияя на «Текущий каталог» вашего исходного процесса.

] ./cd-backward завершается, его процесс завершается, а cd .. забывается.

Вот два способа повлиять на мой собственный «Текущий каталог», хранящийся в моем «~ / .bashrc»:

Сначала несколько alias es: [!d5 ]

alias ..='cd ..'
alias ...='cd .. ; cd ..'

Вот как я сохраняю текущий каталог в заголовке окна (через перехват cd):

# from the "xttitle(1)" man page - put info in window title
update_title()
{
    [[ $TERM = xterm ]] || [[ $TERM = xterm-color ]]  && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}

cd()
{
    [[ -z "$*" ]] && builtin cd $HOME
    [[ -n "$*" ]] && builtin cd "$*"
    update_title
}
13
задан 24 March 2012 в 03:37

0 ответов

Другие вопросы по тегам:

Похожие вопросы: