4

Я использую «CD -» для переключения между папками. лайк:

cd /etc/                                                                                                                          
cd -   

но почему "cd -" будет печатать адрес (как pwd)? Как я могу остановить это распечатать адрес?

3 ответа3

13

SUS4 говорит:

Когда - используется в качестве операнда, это должно быть эквивалентно команде:

    cd "$OLDPWD" && pwd

который изменяется на предыдущий рабочий каталог, а затем записывает его имя.

Итак, если вы не хотите печатать половину поведения, просто сделайте первый шаг самостоятельно:

cd "$OLDPWD"

Или эквивалент расширения тильды

cd ~-

Часто, если вам это нужно, pushd / popd лучше, хотя и менее переносимый выбор.

1

Просто перенаправьте стандартный вывод в черную дыру, как это

cd - > /dev/null
0

Самый простой способ - не использовать его. Запустите команды в отдельной оболочке:

(cd /etc/; ... )

Это не меняет текущий рабочий каталог основной оболочки. Как правило, это более надежно, чем использование OLDPWD потому что здесь вы можете иметь много команд cd например

(cd /etc; ... ; cd /tmp; ... )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .