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:serialnumberTry
echo”文本和其他东西,${variable1}:${variable2}”