Existe uma maneira de passar uma instrução através de um argumento no shell?

0

O que estou tentando alcançar é definir o título de um widget quando o computador fica inativo:

xsidle.sh echo mywidget.title = "idle" | awesome-client

quando eu removo xsidle.sh , funciona sem falhas. xsidle.sh é aproximadamente:

sleep 10
command="$1"
$command

É claro que a saída do xsidle é redirecionada para o cliente incrível, enquanto eu tento ecoar para o cliente incrível com um atraso.

Eu tentei escapar com "ou", a saída de eco é " mywidget.title = "idle" | awesome-client ".

    
por phil pirozhkov 09.12.2013 / 11:13

1 resposta

2
#!/bin/sh
sleep 10
"$@"

Se você não tem mais nada a fazer após o comando, você pode usar

exec "$@"

Isso está na sua página de manual amigável (tente man sh ), embora não seja tão fácil saber como encontrá-lo. Veja também perguntas como this .

    
por 09.12.2013 / 11:20