Переход в предыдущую папку при запуске MINGW

Рейтинг: 2Ответов: 1Опубликовано: 02.08.2025

Как можно сделать, чтобы терминал MINGW запоминал последнюю рабочую директорию и при следующем запуске переходил в неё вместо ~?

Ответы

▲ 4Принят

Если shell'ом для MinGW является bash, как оно обычно и есть по умолчанию, то в .bashrc в домашнем каталоге пользователя прописываются стандартные для включения такого поведения команды (для любого UNIX будет работать, и в MinGW у меня работает):

# Save last directory whenever the EXIT signal is received
trap 'pwd > ~/.last_dir' EXIT

# Change to the last saved directory on login
if [ -f ~/.last_dir ]; then
    cd "$(cat ~/.last_dir)" || cd ~
fi

Команда trap устанавливает команду, которая выполняется, когда процесс bash получает сигнал EXIT, а всё остальное вроде должно быть очевидно. Если в домашней директории существует файл .last_dir, пытаемся перейти в директорию, которая в нём записана, а если это не получилось (например, если эта директория была удалена), переходим в домашнюю.