xbacklight -get の出力を bash スクリプトの変数に書き込みます。

xbacklight -get の出力を bash スクリプトの変数に書き込みます。

ディスプレイの明るさを設定できる小さなスクリプトがあります。

#!/bin/sh

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

これで、デフォルトは50ではなく現在の明るさになりたいです。

だから私はスクリプトを修正し、次のことをしました。

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

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

しかし、明らかに次の行は次のようになります。

var=$(xbacklight -get);

動作しません。端末を開くとxbacklight -get正常に実行され、数値が返されます。

私も試しましたここに記載されている他の変形それともそれをやってください--value='xbacklight -get'。しかし、何も動作しません。

本当に混乱しています。

答え1

@steeldriverが正しく指摘したように、optionsの入力として整数を使用する必要があります--value

このスクリプトはうまく実行されます。

#!/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;

関連情報