Se você quer executar o comando sudo df ....
, você precisa usar substituição de comando . Assim, substitua:
percent=sudo df /media/usb | tail -n 1 | grep -E [[:digit:]]+% -o | grep -E [1-9]+ -o
Com:
percent=$(sudo df /media/usb | tail -n 1 | grep -E [[:digit:]]+% -o | grep -E [1-9]+ -o)
O que deu errado
percent=sudo df /media/usb | tail -n 1 | grep -E [[:digit:]]+% -o | grep -E [1-9]+ -o
No comando acima, a variável do shell percent
é temporariamente definida para o valor sudo
e, em seguida, o comando df /media/usb
e sua saída são enviados para o comando tail
. percent
não recebe nenhum valor permanente e a saída do pipeline é enviada para stdout.