【发布时间】:2019-11-24 04:13:10
【问题描述】:
我正在尝试根据某个命令的结果来格式化我的输出。但是,它没有打印出来。你们能告诉我我错过了什么吗?
VID=$(grep -iE $vvwwn ${TPAR_TEMP}/vvid_${TPAR_NAME} > ${TPAR_TEMP}/tvvid 2> /dev/null)
TVVID=$(cat ${TPAR_TEMP}/tvvid |awk '{print$3}' 2> /dev/null)
if [ "${TVVID}" = "32" ]; then
sh templ1
echo "$VID"
else
sh templ2
echo "$VID"
fi
templ1是
#!/bin/bash
echo "========================================================================================================"
awk '
BEGIN {printf "%-27s %-6s %-32s %-8s %-8s %-9s %-4s\n" , "Name", "State", "VV_WWN", "VSize_MB", "Usr_Used_MB", "UsrCPG", "Prov"}'
echo "========================================================================================================"
【问题讨论】:
-
VID是空的,因为您将grep的输出发送到文件中,而不是让命令替换分配给变量 - 正如 Orion 在另一条评论中所说。如果两者都需要,您可以使用tee。 -
@DennisWilliamson,
VID不为空。当我测试并回应它之后,我确信这一点。但这一切都很好。能够弄清楚。谢谢 -
那么,解决方案是什么?使用您显示的代码,
VID不可能有任何内容。