如何编写一个使用 xrandr 检查屏幕分辨率并根据当前分辨率更改分辨率的脚本?也就是说,切换分辨率。
xrandr -q 的示例输出
1920x1080 59.98 + 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99* 59.94 59.95 59.82
需要如何措辞来检查当前分辨率是否为 1600x900,则运行xrandr -s 0
,但如果当前分辨率为 1920x1080 则运行xrandr -s 4
?
简而言之,问题是如何使脚本识别 xrandr -q 的输出以切换分辨率。例如:
#!/bin/bash
if <current resolution is 1920x1080>
then
xrandr -s 4
elif <current resolution is 1600x900>
then
xrandr -s 0
else
<do nothing>
fi
基本上我需要一种方法让脚本识别星号所在的行并将其切换到另一行。这将如何实现?
答案1
使用进程替换:
#! /bin/bash
read resolution _rest < <(xrandr | grep '\*')
if [[ $resolution = 1920x1080 ]] ; then
xrandr -s 5
elif [[ $resolution = 1600x900 ]] ; then
xrandr -s 0
else
echo Unknown resolution >&2
fi