Ir para o conteúdo
Darsh

Dúvida num script em bash

Mensagens Recomendadas

Darsh

Boas pessoal.

Li uns tutorials de bash na net e decidi criar um script nesta linguagem para fazer mute ou unmute do som através do programa alsam. Foi isto que fiz:

#!/bin/bash
amixer > alsatemp
output=`grep "off" alsatemp`
if [ "$output" == "" ]; then
amixer set Master unmute
else
amixer set Master mute
fi

Mas o script não executa a sequencia toda, apenas executa o primeiro comando (amixer)... Já experimentei meter a sequencia toda dentro de aspas, plicas, acentos graves... e nada, não funciona. Alguém sabe como posso solucionar isto?

Nota: Uma solução um bocado tosca que encontrei foi criar mais dois scripts adicionais, um só para executar a sequencia do mute e outro a do unmute, e executar um dos scripts conforme as condições. Assim:

#!/bin/bash
amixer > alsatemp
output=`grep "off" alsatemp`
if [ "$output" == "" ]; then
unmute.sh
else
mute.sh
fi

Mas não queria ir por aqui...

Cumprimentos!

Editado por Darsh
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Darsh

Isso não tem um erro na terceira linha? Não falta aí um acento grave a terminar a linha?

Sim! já corrigi isso, mas mesmo assim continua sem funcionar... :/

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.