管道回声和cat不起作用



我正在编写一个脚本,为服务器安装固件
我在终端中为XML文件的输出版本使用了args。

echo "BROADCOM NIC Version : " | cat firmware-nic-broadcom-*/CP*.xml | grep "<Version>" | uniq | sed 's/[^0-9,.]//g'

我想输出";BROADCOM NIC版本:20.19.31";,但它只是显示了";20.19.31";。

我该如何解决这个问题?

这里有一个简单的方法:

echo -n "BROADCOM NIC Version : " ; cat firmware-nic-broadcom-*/CP*.xml | grep "<Version>" | uniq | sed 's/[^0-9,.]//g'
^^ Add                       ^ Change

-n标志表示回显没有新行,将|更改为;意味着它总是直接输出,而不是在管道中丢失。

您可以先声明VERSION变量。

VERSION=$(cat firmware-nic-broadcom-*/CP*.xml | grep "<Version>" | uniq | sed 's/[^0-9,.]//g')
echo "BROADCOM NIC Version : ${VERSION}"

最新更新