Как я могу сделать эквивалент этой функции удара в tcsh?

У меня есть функция в ударе для уничтожения всех процессов, которые содержат то же имя:

killn () { pkill -9 -f $1; }

Я понимаю, что tcsh не поддерживает функции.

Как я могу перевести эту функцию в псевдоним, который будет работать в tcsh?

2
задан 3 August 2017 в 09:41

1 ответ

Во-первых, предупреждение любому, кто натыкается на это сообщение: -f флаг к pkill заставит это соответствовать шаблону, который Вы даете ему с полной командной строкой каждого процесса, а не просто имени процесса. Это соответствует большему количеству процессов, таким образом, можно закончить тем, что уничтожили больше, чем Вы предназначаете. Будьте осторожны!

Начиная с шаблона Вы являетесь передающими к pkill появляется в конце команды, Вам на самом деле не нужна явная обработка аргумента, таким образом, это может быть сделано с простым отчасти tcsh псевдоним:

alias killn pkill -9 -f

С тем определенным псевдонимом, если Вы хотите отправить SIGKILL к процессам, полные командные строки которых содержат соответствие к pattern, Вы используете псевдоним как это:

killn pattern

Это занимает место pkill -9 -f для killn, то, чтобы заставлять Вашу желаемую команду быть выполненным:

pkill -9 -f pattern

Примечание случайным читателям: это - a tcsh псевдоним, который не имеет того же синтаксиса как a bash псевдоним.

2
ответ дан 2 December 2019 в 03:37

Другие вопросы по тегам:

Похожие вопросы: