Como posso fazer um equivalente a essa função bash no tcsh?

2

Eu tenho uma função no bash para matar todos os processos, que contêm o mesmo nome:

killn () { pkill -9 -f ; }

Eu percebo que o tcsh não suporta funções.

Como posso traduzir essa função em um alias que funcionará no tcsh?

    
por Josef Klimuk 27.07.2017 / 11:20

1 resposta

2

Primeiro, um aviso para qualquer um que se deparar com esta postagem: a -f flag para pkill fará com que ela corresponda ao padrão fornecido com a linha de comando completa de cada processo, em vez de apenas o processo nome. Isso corresponde a mais processos, então você pode acabar matando mais do que pretende. Tenha cuidado!

Como o padrão que você está passando para pkill aparece no final do comando, na verdade você não precisa manipular argumentos explícitos, portanto, isso pode ser feito com o tipo simples de tcsh alias:

alias killn pkill -9 -f

Com esse alias definido, se você quiser enviar SIGKILL para processos cujas linhas de comando completas contêm uma correspondência para pattern , use o alias como este:

killn pattern

Isso substitui pkill -9 -f por killn , fazendo com que o comando desejado seja executado:

pkill -9 -f pattern

Observação para leitores casuais: esse é um tcsh alias, que não tem a mesma sintaxe que um bash alias.

    
por Eliah Kagan 27.07.2017 / 12:09