Как передать аргументы командной строки псевдониму оболочки? - PullRequest
254 голосов
/ 02 июня 2009

Как передать аргументы командной строки псевдониму? Вот образец:

alias mkcd='mkdir $1; cd $1;'

Но в этом случае $ xx переводится во время создания псевдонима, а не во время выполнения. Однако я создал обходной путь, используя функцию оболочки (после небольшого приближения), как показано ниже:

function mkcd(){
  mkdir $1
  cd $1
}

Просто хотел узнать, есть ли способ сделать псевдонимы, которые принимают параметры CL.
Кстати, я использую 'bash' в качестве оболочки по умолчанию.

Ответы [ 12 ]

0 голосов
/ 16 июля 2013

Вот простой пример функции с использованием python. Вы можете вставить в ~ / .bashrc
У вас должен быть пробел после первой левой фигурной скобки
Команда python должна быть в двойных кавычках, чтобы получить подстановку переменной
Не забудьте эту точку с запятой в конце

function count () {python -c "для num в xrange ($ 1): print num";}

$ count 6
0
1
2
3
4
5
$
0 голосов
/ 05 февраля 2013

Я думаю, что вы можете сделать это с помощью функций оболочки, если вы используете bash: http://www.cyberciti.biz/faq/linux-unix-pass-argument-to-alias-command/

...