获取主机的版本和操作系统类型

获取主机的版本和操作系统类型

我正在尝试根据管理服务器的输入获取 Red Hat 和 SUSE 服务器的发行版本,该管理服务器对所有服务器都进行无密码身份验证。我既没有收到错误也没有输出,下面是代码

version()
{
SERVERS='/HOME/servers' 
read -p $'Enter the server name:\n' server_name
EXIST=`cat $SERVERS|grep -i $server_name|wc -l`
if [ $EXIST -gt 0 ];then
RELEASE1='ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue'
COUNT1=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|wc -l`
VERSION1=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|awk '/Red/ && /Hat/'`
COUNT2=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|awk '/Red/ && /Hat/'|wc -l`

if [[ -f $RELEASE1 && -s $RELEASE1 ]];then
    if [ $COUNT1 -gt 0 ];then
        echo -e " $RELEASE1 "
    elif [ $COUNT2 -gt 0 ];then
        echo -e " $VERSION1 "

    else
        echo "                  "
 fi

否则回显“”

答案1

第 10 行有两个反引号。对于语法检查,您始终可以使用外壳检查

它是更可取的(也可读)用于$(...)命令替换来代替古老的反引号形式。

顺便说一句,不是解析/etc/issue和 或之类的文件/etc/redhat-release,而是通过安装lsb_release来获取发布和分发信息。

相关内容