Встроенные команды работы со стеком каталогов
-
dirs -
dirs [-clpv] [+N | -N]
Если параметры не указаны, выводит список каталогов, сохранённых в данный момент. Каталоги добавляются в список командой
pushd; командаpopdудаляет каталоги из списка. Текущий каталог всегда является первым каталогом в стеке.Если указаны параметры, они имеют следующие значения:
-cОчищает стек каталогов, удаляя все его элементы.
-lВыводит список с полными именами путей; в формате списка по умолчанию для обозначения домашнего каталога используется тильда.
-pЗаставляет
dirsвыводить стек каталогов, размещая каждый элемент на отдельной строке.-vЗаставляет
dirsвыводить стек каталогов, размещая каждый элемент на отдельной строке и указывая перед ним его индекс в стеке.+NВыводит N-й каталог (считая слева в списке, выводимом командой
dirsбез параметров), начиная с нуля.-NВыводит N-й каталог (считая справа в списке, выводимом командой
dirsбез параметров), начиная с нуля.
-
popd -
popd [-n] [+N | -N]
Удаляет элементы из стека каталогов. Элементы нумеруются с 0, начиная с первого каталога, выведенного командой
dirs; то естьpopdэквивалентнаpopd +0.Если аргументы не указаны,
popdудаляет верхний каталог из стека и переходит в новый верхний каталог.Если указаны аргументы, они имеют следующие значения:
-nНе выполняет обычный переход в каталог при удалении каталогов из стека, а только изменяет стек.
+NУдаляет из стека N-й каталог (считая слева в списке, выводимом командой
dirs), начиная с нуля.-NУдаляет из стека N-й каталог (считая справа в списке, выводимом командой
dirs), начиная с нуля.
Если верхний элемент стека каталогов изменён и параметр -n не указан,
popdиспользует встроенную командуcd, чтобы перейти в каталог, находящийся на вершине стека. Если командаcdзавершается с ошибкой,popdвозвращает ненулевое значение.В противном случае
popdвозвращает неуспешный код завершения, если указан недопустимый параметр, стек каталогов пуст или N указывает на несуществующий элемент стека каталогов.Если команда
popdвыполнена успешно, Bash запускаетdirs, чтобы показать итоговое содержимое стека каталогов; код возврата равен 0. -
pushd -
pushd [-n] [+N | -N | dir]
Добавляет каталог на вершину стека каталогов или циклически сдвигает стек, делая новый верхний каталог текущим рабочим каталогом. Если аргументы не указаны,
pushdменяет местами два верхних элемента стека каталогов.Если указаны аргументы, они имеют следующие значения:
-nНе выполняет обычный переход в каталог при циклическом сдвиге или добавлении каталогов в стек, а только изменяет стек.
+NЦиклически сдвигает стек так, чтобы N-й каталог (считая слева в списке, выводимом командой
dirs, начиная с нуля) оказался на вершине.-NЦиклически сдвигает стек так, чтобы N-й каталог (считая справа в списке, выводимом командой
dirs, начиная с нуля) оказался на вершине.dirПомещает dir на вершину стека.
После изменения стека, если параметр -n не указан,
pushdиспользует встроенную командуcd, чтобы перейти в каталог, находящийся на вершине стека. Если командаcdзавершается с ошибкой,pushdвозвращает ненулевое значение.В противном случае, если аргументы не указаны,
pushdвозвращает ноль, если стек каталогов не пуст. При циклическом сдвиге стека каталоговpushdвозвращает ноль, если стек каталогов не пуст и N указывает на существующий элемент стека.Если команда
pushdвыполнена успешно, Bash запускаетdirs, чтобы показать итоговое содержимое стека каталогов.
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html