3

Некоторое время назад я видел сообщение в блоге об уловке, позволяющей сэкономить время в Unix, которую я не смог вспомнить, а на странице руководства ничего нет.

По сути это был способ перейти в каталог, в который вы только что скопировали или переместили что-то. Пример:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd something
$pwd
/projects/trunk

Кто-нибудь когда-нибудь видел это раньше? Что я забыл после команды cd?

3 ответа3

6

Вы можете нажать Alt - . чтобы получить последний аргумент предыдущей команды в Bash, ksh и zsh. Клавиша на самом деле обозначается как Мета - . что обычно означает нажатие клавиши Esc ., но комбинация Alt общедоступна. Обратите внимание, что подчеркивание будет работать вместо точки. Посмотрите раздел Readline man bash для получения дополнительной информации. Функция readline называется yank-last-arg .

3

Одним из вариантов является использование команд истории:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd !:2
$pwd
/projects/trunk

!:2 принимает второй аргумент предыдущей команды. Вы можете варьировать удовольствия с помощью модификаторов, ваш лучший друг - man bash или info bash и искать расширение истории (и модификаторы).

2

В большинстве оболочек последний параметр, который вы указали в предыдущей команде, находится в $_

mkdir /some/dir
cd $_
# now in /some/dir

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