pwd не задан правильно в запросе zsh

Если я .zshrc это в своем PROMPT в моем файле .zshrc :

 PROMPT="`pwd` >" 

Я ожидаю, что он напечатает текущий рабочий каталог. Однако pwd всегда печатает /Users/kevin . Почему он не показывает мой текущий рабочий каталог?

(Я знаю, что есть функция с именем %~ , которая установит ее для вас. Мне любопытно, почему это не работает, но это более простой пример чего-то более продвинутого, что я пытаюсь сделать).

2 Solutions collect form web for “pwd не задан правильно в запросе zsh”

Поскольку «pwd» оценивается сразу после установки переменной PROMPT. Попробуйте echo $PROMPT .

например

 renan ~ % PROMPT="`pwd` >" /home/renan >echo $PROMPT /home/renan > 

Как вы видите, «pwd» был заменен каталогом, в котором я был, когда я запускал команду PROMPT =.

Проблема заключается в том, что обратные элементы не заменяются каждое магическое время, но только один раз, поэтому ваше приглашение настроено на любой pwd вы были. Чтобы каждый раз при вводе команды выполнять повторное выполнение, используйте function precmd() которая должна сбрасывать ваши $PROMPT . Например, это очень полезная функция, которая сбрасывает ваше приглашение в соответствии с текущим каталогом:

 function windows() { clear echo -e "Microsoft Windows 2000 [Version 5.00.2195]\n(c) Microsoft Corporation, 1985-2000.\n" function precmd() { PWD=$(pwd) PWD=${PWD/\/usr/\/Program Files} PWD=${PWD/\/home\/$(whoami)/\/Documents and Settings\\Administrator} PWD=${PWD/\/home/\/Documents and Settings} PWD=${PWD/\/sbin/\/Windows} export PS1="C:${PWD//\//\\}> " } } 

… или просто используйте %~ в вашем PS1, например:

 PS1=' %n@%m: %~%# ' 

где %n – пользователь, %m – хост, %~ – текущий каталог, а %# – индикатор суперпользователя.

  • Вставка текста в zsh в режиме vi
  • Команда zmv для переименования файла после сопоставления шаблона
  • Могу ли я перемещаться по меню закрытия zsh с помощью vi-подобных клавиш hjkl?
  • zsh - сложное имя файла, соответствующее
  • Как уменьшить влияние изменения значения массива `fpath` на время запуска zsh?
  • zsh: установить TERM = screen-256color в tmux, но xterm-256color без tmux
  • Изменить местоположение замещения процесса zsh '= ()'
  • Элементы списка с пробелами в zsh
  • Фиксация прокрутки в nano, запущенной в tmux в mate-terminal
  • Использовать все хосты, завершенные zsh для cssh
  • Убивание подпроцессов после завершения или уничтожения скрипта
  • Interesting Posts

    Сжатие двух одинаковых папок дает разные результаты

    find -exec в скрипте bash с переменным расширением

    Почему, когда я пытаюсь выполнить программу как обычный пользователь, мне становится отказано, и когда я выполняю его с помощью sudo, я получаю «Not Found»

    Как сразу же поставить диск в режим сна (без изменения конфигурации настройки мощности)?

    синтаксическая ошибка: неожиданный конец файла

    Выполнить ./script.sh vs bash script.sh – отклонено разрешение

    Как создать раздел на сервере ubuntu 12.10

    Как этот каталог использует столько места

    Переупорядочение списка чисел для создания матрицы

    sshpass с SSH работает, но sshpass с SCP не

    Помощь в bash для нескольких потоков

    Высокое использование GPU перед запуском X-Server

    Какие сетевые протоколы используют сервер баз данных Postgres?

    Unix устанавливает лучшие практики, присоединяется к пути или через

    Что такое папка tmp в / var?

    Linux и Unix - лучшая ОС в мире.