Используйте переменные псевдонимов оболочки C, кроме одной

Я хотел бы создать псевдоним, который использует первую переменную cli в качестве входных данных для чего-то и помещает остальные переменные в конец, например, например:

alias rerun '`head -n 2 \!:1/some_log_file.log | tail -n 1` \!:*'

В примере я хотел бы использовать первую переменную в качестве имени каталога и все остальные переменные (кроме первой) в конце,

РЕДАКТИРОВАТЬ: в настоящее время я получаю из приведенного выше примера следующее: первый аргумент идет к имени каталога, как и планировалось, и все аргументы в целом идут до конца, как это (тест - это каталог, содержащий файл журнала):

% rerun test foo bar foo
<executed_cmd> test foo bar foo

Я хочу:

<executed_cmd> foo bar foo

чтобы я мог передавать дополнительные аргументы выполняемой команде (неограниченно)

Спасибо Алекс


person Alex Biba    schedule 06.03.2013    source источник
comment
Попробуйте отредактировать свой вопрос, чтобы включить информацию о том, что происходит, когда вы используете этот код. Похоже, это может сработать. Удачи.   -  person shellter    schedule 06.03.2013
comment
Bash и sh позволяют вам писать подпрограммы, делая то, что вы хотите сделать, тривиальным. Все крутые ребята используют bash, вам тоже следует.   -  person NovaDenizen    schedule 06.03.2013
comment
Да, я знаю, дома и в университете я использую Bash, но на работе используют CSH, так что у меня нет выбора.   -  person Alex Biba    schedule 07.03.2013


Ответы (1)


вы хотите использовать несколько параметров в псевдониме, вы можете сделать это:

Например:

myalias_func()
{
        ls -ltr $1 >> /tmp/$2
}
alias myalias=myalias_func

В твоем случае,

rerun_func()
{
head -n 2 ...
}
alias rerun=rerun_func
person fedorqui 'SO stop harming'    schedule 06.03.2013
comment
Я не думаю, что это сработает. Обратите внимание, что ссылка, которую вы включаете, преобразует только csh setenv var = value в bash fmt var=value. Мы все знаем, что bash лучше, чем csh, но у некоторых людей нет выбора оболочки, которую они могут использовать, а другие предпочитают использовать ее. Всем удачи. - person shellter; 07.03.2013