RedHat에서 X 및 Y 좌표를 제공하여 화면 해상도를 설정하는 스크립트

RedHat에서 X 및 Y 좌표를 제공하여 화면 해상도를 설정하는 스크립트

목표는 X 및 Y 해상도를 스크립트 ./res_set.sh 1920 1080에 대한 인수 로 제공 gtf하고 스크립트에 따라 실행되는 xrandr --newmode것입니다 .--addmode

#!/usr/bin/env bash
if [ "$1" == "-h" ]; then
echo "Usage: `basename $0` [X co-ordinate] [Y co-ordinate]"
exit 0
fi

echo "X Co-ordinate";
echo $1;
echo "Y Co-ordinate";
echo $2;
echo "Are you sure? [Y/N]";
read input;
if [ $input == "y" ];
then
gtf $1 $2 60 > kar1.txt                                             #To get modeline
sed -n '3 p' kar1.txt > kar2.txt                                    #Select Line 2
grep -o -E '["_x.0-9 ]+' kar2.txt > kar3.txt                        #Filter result
wo_filter=$(perl -p -e 's/(?:_60.00)//g' kar3.txt | grep "\S");     
filter=$(grep "\S" kar3.txt);
fil_resolution=$(grep -o -P '(?<=").*(?=")' <<< $wo_filter)
resolution=$(grep -o -P '(?<=").*(?=")' kar3.txt)
echo "Filter: $filter";
echo "Wo_filter: $wo_filter";
echo "Resolution: $resolution";
echo "Filted_Resolution: $fil_resolution";
var=$(xrandr --newmode $wo_filter)
xrandr --addmode default $fil_resolution
#rm -v kar*
else
exit;
fi

이 스크립트를 사용하면 모드가 생성되지만 해상도 목록에 xrandr --newmode모드를 추가하는 데 실패합니다 . --addmode알겠어요 xrandr:Cannot find mode. 하지만 명령어 xrandr --newmode와 별도로 실행하면 동작하여 패턴 목록에 추가됩니다.--addmode

입력하다

산출

Xrandr 출력

이것은의 출력입니다xrandr | tail

내 생각은: 예$변수데이터 유형이 달라서 결과가 망가졌나요? 여기 또는 bash에서 변수의 데이터 유형을 어떻게 확인할 수 있습니까(중요)?

관련 정보