我一直在尝试编写一个脚本来旋转显示器,然后将其分配给键盘键。我已经相当成功地使其旋转一次,但是当我再次运行脚本时,它不会旋转。我可能错过了一些明显的东西,因为我是新手。
这是我所拥有的:
#!/bin/sh
rotation="xrandr -q --verbose|grep LVDS1|cut -b37-42"
if [ "$rotation" = 'normal' ] ;
then
xrandr -o inverted
else
xrandr -o normal
fi
我按照此处找到的说明进行操作,但必须对其进行一些修改: http://ubuntuforums.org/showthread.php?t=1675299
如果这很重要的话,我正在运行 Arch Linux 3.19.3-3-ARCH。
答案1
问题是获取命令结果并将其放入变量中的方式$rotation
:您应该替换
rotation="xrandr -q --verbose|grep LVDS1|cut -b37-42"
和
rotation=$(xrandr -q --verbose|grep LVDS1|cut -b37-42)
更新:说明是不同的引号以不同的方式扩展命令和变量:
简单的引号
'
不会扩展任何内容:TEST="hello world" echo '$TEST'
将输出
$测试
双引号
"
将扩展变量:TEST="hello world" echo "$TEST"
将输出
你好世界
反引号 ``` 将扩展命令:
TEST="pwd" echo `$TEST`
将输出
/路径/到/当前/目录
但要获取命令的结果,您也可以使用$(myCmd)
.