我正试图将一个变量传递给xrandr,所以当脚本运行时,它将输出自动分辨率。
#!/bin/bash
DISPLAY=$(xrandr | grep ' connected' | cut-d' ' -f1)
xrandr --output "$DISPLAY" --auto威尔输出
无法打开显示显示端口-0
如果我将变量更改如下..。
DISPLAY=DisplayPort-0它仍然会抛出相同的错误。
只有当我硬编码,或者像这样运行实际的命令.
xrandr --output DisplayPort-0 --auto它会按预期运行吗。有什么想法吗?我感到困惑的是,为什么xrandr不接受bash脚本中的变量。
发布于 2021-05-22 19:19:38
不幸的命名- DISPLAY已经被保留为指向正确的X服务器。打开一个新的shell并检查其内容:
$ echo $DISPLAY
:0对DISPLAY变量使用不同的名称。顺便说一句,这也是为什么建议在脚本中使用小写变量名的原因,所以在您的示例中可以是:
display=$(xrandr | grep ' connected' | cut -d' ' -f1)另外,请注意,同时连接的屏幕可能超过一个,在这种情况下,xrandr --output "$display" --auto将失败。
https://unix.stackexchange.com/questions/650931
复制相似问题