Когда я нажимаю команду set в терминале osx, откуда берется вывод? [closed]

Я получаю массу информации, когда набираю слово

set 

в терминале mac osx 10.8.

Я узнал лишь небольшую его часть в моих файлах .profile и .bashrc. Я также просмотрел / etc / paths

, но не могу найти, откуда берется вывод. Я долго искал, и ничего лишнего не появилось. Откуда именно эта команда выводит информацию на терминал?

например. эта функция update_terminal_cwd ()

0
задан 30 March 2013 в 05:52
1 ответ

set показывает вам все переменные среды и встроенные функции, которые существуют на вашем компьютере и в вашей оболочке, среди другой собранной информации.

Если вы хотите узнать полную историю, проверьте исходный код встроенной функции.

Чтобы обратиться к вашему примеру, update_terminal_cwd находится в общесистемном файле .bashrc по умолчанию:

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
# Tell the terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
    update_terminal_cwd() {
        # Identify the directory using a "file:" scheme URL,
        # including the host name to disambiguate local vs.
        # remote connections. Percent-escape spaces.
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
    }
    PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
fi
2
ответ дан 4 December 2019 в 14:14

Теги

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