1

Я не могу на всю жизнь создать псевдоним, который будет переключаться на заданный каталог проекта.

Я храню все свои проекты в папке под названием Projects, т.е. ~/Project/blog ~/Project/whatever

Я хотел бы иметь псевдоним в соответствии с p whatever что бы это равнялось cd ~/Project/$1 где $1 - это то, что дается p .

Я пробовал различные комбинации alias p="cd ~/Projects/\$1" со всеми обычными подозреваемыми для экранирования регулярных выражений, но я не совсем понимаю.

Есть идеи?

2 ответа2

3

Вы не можете использовать позиционные аргументы в псевдонимах. Вместо этого используйте функцию.

p() {
  cd ~/Projects/"$1"
}
1

Может быть, это то, что вы искали:как расширить встроенные псевдонимы в bash?

поэтому простое решение будет использовать команду shell-expand-line

Определите псевдоним без \$ 1

 $bash>alias p="cd ~/Projects/"
 $bash>p 

просто нажмите Meta - Ctrl - e, чтобы расширить:

$bash>cd /home/USERNAME/Projects/

Это решение помещает неудобное пустое пространство в конце расширения, которое вам придется удалить с помощью BackSpace, прежде чем писать что-либо еще.
Поскольку Игнасио Васкес-Абрамс предложил более элегантное решение, было бы использовать функцию с автозаполнением (смотрите /etc /bash_completion)

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