小编nba*_*lle的帖子

如何从命令行检索监视器配置?

我正在制作一个需要访问计算机显示器配置的脚本。我怎样才能做到这一点?是否有我可以在其中访问此信息的命令或文件?

目前,我这样做:

xwininfo -root
Run Code Online (Sandbox Code Playgroud)

但我只有总的分辨率,而不是细节。我需要的是每个屏幕的分辨率。

xorg hardware configuration multi-monitor resolution

5
推荐指数
2
解决办法
7966
查看次数

ls、正则表达式和环境变量

我想声明一个存储视频文件所有扩展名的环境变量,以便在使用 shell 时可以使用它。

我尝试了几件事,但从来没有让它工作:如果在我的 .bash_profile 中我放了:

export VIDEOS={mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}
Run Code Online (Sandbox Code Playgroud)

它只需要最后一个元素:

[nbarraille@nbarraille ~]echo $VIDEOS
mpeg
Run Code Online (Sandbox Code Playgroud)

如果在我的 .bash_profile 中我放了:

export VIDEOS="{mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}"
Run Code Online (Sandbox Code Playgroud)

或者

export VIDEOS='{mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}'
Run Code Online (Sandbox Code Playgroud)

然后,当我显示它时它看起来不错,但是当我在 ls 中使用它时它不起作用,例如:

[nbarraille@nbarraille ~] echo $VIDEOS
{mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}
[nbarraille@nbarraille ~] ll *.$VIDEOS
ls: cannot access *.{mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我在不使用变量的情况下运行完全相同的命令时,它可以工作:

[nbarraille@nbarraille ~] echo *.{mp4,wmv,avi,flv,mkv,m4u,mpg,mpeg}
example.avi
example2.mpg
Run Code Online (Sandbox Code Playgroud)

此外,当我重新启动时,看起来我的 .bash_profile 没有加载,并且 $VIDEOS 变量为空。我必须做一个source ~/.bash_profile才能让它工作(每次我打开一个新终端时我都必须重做。

任何的想法?

谢谢!

shell wildcards

5
推荐指数
1
解决办法
2276
查看次数