在 Mac 上确定分辨率并将其用作 UNIX 脚本中的变量
Determine and Use Resolution as a Variable in UNIX script on Mac
我正在将 NetRestore 映像部署到多种 Macs:MacBooks,MacBook Pros,Mac Pros,iMacs 和 Mac 迷你。我有几个我想使用的自定义设计的登录屏幕,但 10.10 之前的所有内容都要求您知道显示器分辨率,否则登录将无法正确显示。
有没有办法将此代码的输出用作一系列 IF/THEN 语句的变量?
system_profiler SPDisplaysDataType |grep Resolution
正常输出是这样的
Resolution: 2560 x 1440
Resolution: 1920 x 1200
Resolution: 1920 x 1200
(如果您有三个显示器...我更愿意使用第一个结果)。
或者有没有人知道如何创建自定义登录 window 背景和用户背景以在任何类型的 Mac 上以任何分辨率工作? (就像在系统偏好设置中 select "Fit to Screen" 时 OS 所做的那样)
谢谢!
要使用第一个结果,将高度和宽度存储在变量中,然后做一些事情,你可以像这样使用head
:
$ system_profiler SPDisplaysDataType | grep Resolution | head -1
然后你可以用 awk
截断分辨率并将其分配给 bash 变量:
$ resolution=$(system_profiler SPDisplaysDataType | grep Resolution | head -1 | awk -F: '{print }')
最后,您可以对 resolution
变量的值进行 if
声明,如下所示:
$ if [[ $resolution == " 2560 x 1440" ]]; then \
echo match; \
else \
echo no; \
fi
match
我正在将 NetRestore 映像部署到多种 Macs:MacBooks,MacBook Pros,Mac Pros,iMacs 和 Mac 迷你。我有几个我想使用的自定义设计的登录屏幕,但 10.10 之前的所有内容都要求您知道显示器分辨率,否则登录将无法正确显示。
有没有办法将此代码的输出用作一系列 IF/THEN 语句的变量?
system_profiler SPDisplaysDataType |grep Resolution
正常输出是这样的
Resolution: 2560 x 1440
Resolution: 1920 x 1200
Resolution: 1920 x 1200
(如果您有三个显示器...我更愿意使用第一个结果)。
或者有没有人知道如何创建自定义登录 window 背景和用户背景以在任何类型的 Mac 上以任何分辨率工作? (就像在系统偏好设置中 select "Fit to Screen" 时 OS 所做的那样)
谢谢!
要使用第一个结果,将高度和宽度存储在变量中,然后做一些事情,你可以像这样使用head
:
$ system_profiler SPDisplaysDataType | grep Resolution | head -1
然后你可以用 awk
截断分辨率并将其分配给 bash 变量:
$ resolution=$(system_profiler SPDisplaysDataType | grep Resolution | head -1 | awk -F: '{print }')
最后,您可以对 resolution
变量的值进行 if
声明,如下所示:
$ if [[ $resolution == " 2560 x 1440" ]]; then \
echo match; \
else \
echo no; \
fi
match