(Я не повторю функцию замены команды, уже показанную в других ответах.)
Если это часто подходит, можно определить функцию. Например, вставьте это Ваш ~/.bashrc
:
d () {
if ! [ -d "$1/." ]; then
set -- "${1%/*}"
fi
cd -- "$1"
}
С этим определением можно работать d /path/to/directory
измениться на указанный каталог, или d /path/to/file
измениться на каталог, содержащий указанный файл (т.е. /path/to
).
Для этой конкретной команды можно удалить последнее слово путем редактирования команды: с привязками клавиш по умолчанию, от конца строки, нажимают Alt+B для движения назад к предыдущему слову и Alt+D для стирания слова справа. На большинстве терминалов, от конца строки, можно нажать Esc Backspace для прямого стирания слова слева.
Если путь является каталогом, ~/home/blah/subdir/..
определяет тот же каталог как ~/home/blah
.
В zsh можно лавировать (:h)
в конце пути, чтобы снять изоляцию с имени файла и сохранить только часть каталога. (Это h
для “головы”; t
поскольку “хвост” сохраняет только часть файла.) Можно использовать другие модификаторы истории в (:…)
после пути или шарика.
cd ~/home/blah/file.zip(:h)
Вы не можете получить более точное описание, чем это. Если это слишком тяжело для Вас, пробуют страницу справочника. Это, вероятно, также доступно в Вашей системе (man notify-send
)
BTW связываются, только вопросы осуждены в SX, поскольку цели ссылки могут исчезать со временем и делать недействительным ответ. Явно просьба о ссылках не что-то, что необходимо сделать.
Сопровождающий считает это «проектным решением».
Функцию тайм-аута можно использовать не во всех системах.
Для получения дополнительной информации см.:
https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508