escrevendo saída de xbacklight -get para uma variável em um script bash

1

Eu tenho um pequeno script que me permite definir o brilho da tela

#!/bin/sh

VALUE=$(zenity --scale --text="Select Display brightness" --value=50 --title "Helligkeit anpassen");
xbacklight -set $VALUE;

Agora quero que o valor padrão não seja 50, mas o brilho atual.

Então eu alterei o roteiro e fiz:

#!/bin/sh
var=$(xbacklight -get);

VALUE=$(zenity --scale --text="Select Display brightness" --value=$var --title "Helligkeit anpassen");
xbacklight -set $VALUE;

Mas aparentemente, a linha:

var=$(xbacklight -get);

Não funciona, se eu abrir um terminal xbacklight -get é executado muito bem e retorna um número.

Eu também tentei as outras variantes descritas aqui ou para fazer diretamente --value='xbacklight -get' . Mas nem tudo funcionou.

Estou muito confuso.

    
por Nivatius 25.01.2016 / 11:18

1 resposta

0

como @steeldriver apontou corretamente, é necessário garantir que um inteiro seja usado como entrada para a opção --value .

Este script é executado muito bem

#!/bin/sh
# set display brightness with a zenity gui
var=$(xbacklight -get);

VALUE=$(zenity --scale --text="select display brightness" --value="${var%.*}" --title "adjust brightness");
xbacklight -set $VALUE;
    
por 26.01.2016 / 00:22