змінити каталог (cd) у unix на основі попередньої дії


3

Я побачив повідомлення в блозі якийсь час, коли я не міг запам'ятати, і що сторінка людини не перераховує.

В основному це був спосіб ввести в каталог, який ви щойно скопіювали або перемістили. Приклад:

$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 і шукати розширення історії (і модифікаторів).


1
!$ дає останній аргумент попередньої команди і, швидше за все, послідовно робить те, що передбачається, без того, щоб думати про те, скільки аргументів було, особливо у випадку щось подібного cp foo bar baz dest/
Dennis Williamson

6

Ви можете натиснути Alt - . Щоб отримати останній аргумент попередньої команди в Bash, ksh і zsh. Клавіша дійсно позначена як Мета - . що зазвичай означає пресування вихід потім . , але Alt комбінація звичайно доступна. Зауважте, що замість точки працюватиме підкреслення. Див. Розділ "Читати" man bash для отримання додаткової інформації. The readline викликається функція yank-last-arg.


2

У більшості оболонок міститься останній параметр, вказаний у попередній команді $_

mkdir /some/dir
cd $_
# now in /some/dir
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.