Alterando o volume na linha de comando usando script / função

0

Eu encontrei este comando bacana que define o volume para 50% (ou qualquer nível desejado):

osascript -e 'set volume output volume 50'

Eu adoraria ter um script ou função que me permita digitar v 50ou v 30etc. para alterar facilmente os níveis de volume.

Eu tentei fazer esta função bash:

v() {
# adjust volume function
osascript -e 'set volume output volume $1'
}

No entanto, isso fornece:

25:26: syntax error: Expected expression but found unknown token. (-2741)

Como posso fazer isso funcionar?

che_kid
fonte
Como uma nota lateral: para silenciar o volume, useosascript -e 'set volume output muted true'
Asmus

Respostas:

3

As aspas simples ('') suprimem a expansão dos parâmetros para que você precise usar aspas duplas:

v() {
    osascript -e "set volume output $1"
}
nohillside
fonte
Excelente - isso funciona, obrigado. De maneira mais geral - quando se deve usar aspas duplas versus aspas simples?
31515 Chegada
11
Aspas simples proteger tudo dentro, então use aspas duplas sempre que você precisa para expandir variáveis etc.
nohillside