我是一名新手bash脚本程序员,一直在尝试打印整行内容,但始终找不到可行的方法。
这是我的代码:
#!/bin/bash
MOTD=`cat /etc/motd | awk '{print $1}'`
if [ "$MOTD" = "WARNING" ]
then
echo "Audit Criteria: Warning banner exist."
echo "Vulnerability: No."
echo "Details: $MOTD "
else
echo "Audit Criteria: Warning banners does not exist."
echo "Vulnerability: Yes."
echo "Details: $MOTD "
fi
我的输出如下:
Audit Criteria: Warning banner exist.
Vulnerability: No.
Details: WARNING:
与其显示“警告:仅限授权使用,所有活动都可能被监视和报告”,只有“警告”出现在详细信息中:
我认为问题在于
MOTD=`cat /etc/motd | awk '{print $1}'`
并且
if [ "$MOTD" = "WARNING" ]
部分,我尝试了 {print$0}
,但仍无法使其正常工作。
MOTD
。 - Tom Fenechawk
)中使用cat
。应避免使用旧式过时的反引号,而是使用括号。因此将MOTS
行更改为:MOTD=$(awk '{print $1}' /etc/motd)
。 - Jotne