Um alias para um comando para matar postos de trabalho interrompidos

2

Eu queria adicionar um alias ao meu .bashrc para que eu pudesse matar todos os trabalhos interrompidos com um comando como kill_stopped . Estou ciente de que kill 'jobs -p' pode ser usado para realizar isso, mas prefiro ter um pseudônimo mais fácil de lembrar por conveniência. Então eu adicionei esta linha ao meu .bashrc:

alias kill_stopped="kill 'jobs -p'"

No entanto, quando eu executo, recebo uma mensagem sobre o uso do comando kill. Para ter certeza de que estava sendo executado corretamente, executei echo "kill 'jobs -p'" no shell e recebi de volta "kill <some number>" sempre que tive um processo interrompido. Alguém pode me ajudar a consertar isso?

    
por Zach Halle 20.10.2014 / 18:41

2 respostas

2

Você chegou perto, mas deve usar aspas simples, e não aspas duplas:

kill_stopped='kill 'jobs -p' '

Backticks são expandidos entre aspas duplas, por isso estava executando jobs -p no momento em que você definiu o alias, e não quando você o usou.

    
por 20.10.2014 / 20:11
1

Tente isto:

alias kill_stopped="kill \$(jobs -p)"

e para matar jobs de runnings:

kill_stopped

Se não houver trabalhos em execução, você receberá uma mensagem sobre o uso do kill.

    
por 20.10.2014 / 19:41