Сменить каталог (cd) в unix на основании предыдущего действия
Некоторое время назад я видел сообщение в блоге об уловке, позволяющей сэкономить время в Unix, которую я не смог вспомнить, а на странице руководства ничего нет.
По сути это был способ перейти в каталог, в который вы только что скопировали или переместили что-то. Пример:
$pwd
/home/stedy
$mv temp /projects/trunk
$cd something
$pwd
/projects/trunk
Кто-нибудь когда-нибудь видел это раньше? Что я забыл после команды cd?
3 ответа
Один из вариантов - использовать команды истории:
$pwd
/home/stedy
$mv temp /projects/trunk
$cd !:2
$pwd
/projects/trunk
!:2
принимает второй аргумент предыдущей команды. Вы можете варьировать удовольствия с помощью модификаторов, ваш лучший друг man bash
или же info bash
и искать расширение истории (и модификаторы).
Вы можете нажать Alt-. чтобы получить последний аргумент предыдущей команды в Bash, ksh и zsh. Клавиша на самом деле обозначается как Мета-. что обычно означает нажатие клавиши Esc ., но комбинация Alt общедоступна. Обратите внимание, что подчеркивание будет работать вместо точки. Смотрите раздел Readline man bash
для дополнительной информации. readline
функция называется yank-last-arg
,
В большинстве оболочек последний параметр, который вы указали в предыдущей команде, находится в $_
mkdir /some/dir
cd $_
# now in /some/dir