隐藏cat命令的输出

时间:2016-05-06 10:10:19

标签: bash shell

我有这行代码,我想隐藏它的输出。

Vrs=$(cat  $(echo $line | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}') | grep "YES" | cut -d":" -f5)

我尝试在行尾添加&> /dev/null,但它不起作用。 有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

我不确定您要实现的目标,但您的cat电话看起来多余。

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5)

答案 1 :(得分:0)

您可以将语句改为

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5)

这也是一样的。在命令成功后,您将获得存储在Vrs中的结果。 无输出将显示在stdout中。但是,如果您预计会出现错误,可以执行以下操作:

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5 2>/dev/null)

这会抑制错误,并为您提供空$Vrs

注意:

我引用了$line来防止通配和分词。