소프트웨어 라이센스 서버를 쉘 스크립트로 설치하려고 하면 오류가 발생하고 실제로 해결 방법을 모릅니다. 스크립트에서 오류를 찾을 수 없습니다. 누군가 나에게 도움을 줄 수 있기를 바랍니다..
#!/bin/ksh
#----------------------------------------------------------------------------
# COPYRIGHT DASSAULT SYSTEMES 2009
#----------------------------------------------------------------------------
# CREATED : 2009/07/06
#----------------------------------------------------------------------------
# Set variables
OSDS=aix_a64
export OSDS
VERSION=`uname -v`
RELEASE=`uname -r`
echo AIX $VERSION.$RELEASE
RC=0
if [[ $VERSION -lt 7 ]] ; then
#----------------------------
# Must be in AIX V7.1.2 or higher
#----------------------------
echo AIX 7.1 TL2 is the minimum required level >&2
RC=1
else
#-------------------------------------------------------------
# 7.1 TL2 (libc 7.1.2.0) is the minimum required level of AIX
#-------------------------------------------------------------
A=`lslpp -Lqc bos.rte.libc |\
awk -F: '{ print "bos.rte.libc",$3
split($3,a,"[.]")
if (a[1]<7 ) exit 1
else if (a[1]==7 && a[2]<1) exit 1
else if (a[1]==7 && a[2]==1 && a[3] < 2) exit 1 }' `
if [[ $? -ne 0 ]] ; then
echo AIX 7.1 TL2 is the minimum required level >&2
RC=1
fi
fi
if [[ $RC = 0 ]] ; then
echo Check Prerequisites for AIX OK
else
echo >&2
echo ERROR : Check Prerequisites for AIX KO >&2
echo >&2
exit $RC
fi
CURPWD=`pwd` || exit 1
[[ $0 = /* ]] && STARTDIR=$0 || STARTDIR=`echo $CURPWD/$0 | sed 's%/\./%/%g'`
START=${STARTDIR##*/}
STARTDIR=${STARTDIR%/*}
export STARTDIR
echo $STARTDIR
for i in $*
do
if [[ $i = -h ]]
then
HELP=TRUE
fi
done
if [[ $HELP = TRUE ]]
then
# Help
${STARTDIR}/DSYLicServINSTB -h
else
# Check root, and perform su if necessary
#----------------------------------------
if [[ `PATH=$PATH:/usr/ucb whoami` = root ]] ; then
:
else
pbsu=$(eval echo \$$#)
if [[ $pbsu = pbsu ]] ; then
echo "Problem when trying to become super-user (root)"
echo "Please try to become super-user by running following commands:"
echo " login root"
echo " cd /"
echo " $STARTDIR/$START $*"
echo
exit 1
fi
echo "Log on as super-user (root) before installing"
echo
su - root -c "$STARTDIR/$START $* pbsu"
exit $?
fi
#Installation
[[ -z $DISPLAY ]] && export DISPLAY=`uname -n`:0
${STARTDIR}/DSYLicServINSTB $*
fi
답변1
이것은 쉘 스크립트입니다설치하다AIX용으로 특별히 작성된 라이센스 서버(라이센스 서버 자체가 아님)(스크립트 자체에 설명됨).
Ubuntu의 명령은 uname -v
예를 들어 (내 Ubuntu VM에서) 텍스트 문자열을 출력합니다.
#39-Ubuntu SMP Thu Jan 26 02:27:07 UTC 2017
AIX에서는 17행의 산술 비교에 사용할 수 있는 숫자를 출력합니다.
VERSION=`uname -v`
# ...
if [[ $VERSION -lt 7 ]] ; then
스크립트를 수정하더라도 Ubuntu에서는 실행할 수 없습니다.
내가 당신이라면 라이센스 서버에 대한 Linux 설치 지침을 찾고 있을 것입니다. Abaqus FLEXnet이라면 RedHat/SuSE가 지원된다고 생각합니다. Google에서 "Abaqus FLEXnet Ubuntu"를 검색하여 유용한 정보를 찾을 수도 있습니다.