Bash Mac脚本问题:将冒号添加为字符串
我正在尝试在显示模型后添加冒号。基本上,我希望输出为:Bash Mac脚本问题:将冒号添加为字符串,bash,macos,Bash,Macos,我正在尝试在显示模型后添加冒号。基本上,我希望输出为: 型号:serialnumber 我无法将:添加为字符串 我的脚本的编写方式是,如果存在外部监视器,它只提供输出 #!/bin/sh #sets serial = serialnumber serial=`system_profiler SPDisplaysDataType | grep -i "Display Serial Number" | sed -e 's/^[ \t]*//' | cut -d "
型号:serialnumber
我无法将:
添加为字符串
我的脚本的编写方式是,如果存在外部监视器,它只提供输出
#!/bin/sh
#sets serial = serialnumber
serial=`system_profiler SPDisplaysDataType | grep -i "Display Serial Number" | sed -e 's/^[ \t]*//' | cut -d " " -f 4`
#sets displayModel = model serialnumber
displayModel=`system_profiler SPDisplaysDataType | awk '/Resolution:/{print x}; {x=$0};/Framebuffer Depth:/{getline;print$3}' | sed -e 's/^ *//g;s/://g'`
#if serial exists, echo model serialnumber
if [ ! -z "$serial" ]
then
#Outputs: model serialnumber
echo "<result>$displayModel</result>"
fi
#/垃圾箱/垃圾箱
#设置序列号=序列号
serial=`system_profiler SPDisplaysDataType | grep-i“显示序列号”| sed-e的/^[\t]*/'| cut-d”“-f 4`
#设置displayModel=型号serialnumber
displayModel=`system_profiler SPDisplaysDataType | awk'/分辨率:/{print x};{x=$0}/帧缓冲区深度://{getline;print$3}'| sed-e的//^*//g;s/:///g'`
#如果存在序列号,则回显型号序列号
如果[!-z“$serial”]
然后
#输出:型号序列号
echo“$displayModel”
fi
-使用printf
将每个型号和序列号输出保持在同一行
-使用:
不起作用,但改用|
将起作用
-我还在末尾添加了一个,
displayModel=system_profiler SPDisplaysDataType | awk'/分辨率:/{printf x;printf“|”
};{x=$0}/帧缓冲区深度://{getline;printf$4;print“,“
}”sed-e的//^*//g;s/:///g'
-输出为:
型号|序列号,
model | serialnumber,
谢谢你让我的问题看起来更整洁非常感谢@pkambeecho“$displayModel”:“$serial”@YuriGinsburg我感谢你的帮助,但我相信这会输出:model serialnumber:serialnumberTryecho”文本和其他东西,${variable1}:${variable2}”