호스트 버전 및 OS 유형 확인 [중복]

호스트 버전 및 OS 유형 확인 [중복]

모든 서버에 대해 비밀번호 없는 인증을 수행하는 관리 서버의 입력을 기반으로 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-releaselsb_release

관련 정보