Eu não tenho muito a dizer, exceto que:
- Sua coisa
ls | grep
parece muito estranha e errada para mim -
Para resolver o seu problema de
grep
, será queservice
é enviado para stderr ? Que tal com um redirecionamento de stderr para stdout ?service --status-all 2>&1 | grep "transmission-daemon"
(mas isso também parece muito estranho e errado para mim).
Aparentemente, você quer executar seus serviços com o comando status , certo? Que tal usar bash assim:
#!/bin/bash
shopt -s nullglob
for s in /etc/init.d/transmission-daemon* ; do
service "$(basename "$s")" status
done
Em uma linha:
bash -c 'shopt -s nullglob; for s in /etc/init.d/transmission-daemon* ; do service "$(basename "$s")" status; done'
Isso dá:
Espero que isso o coloque no caminho certo (ou pelo menos em um caminho melhor)!