Запустите интерактивный скрипт оболочки при загрузке Cent-OS 7 - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу запустить интерактивный сценарий оболочки при загрузке CentOS 7, я пытался post install, /etc/rc.local и crontab @reboot, но ни один из них не работал со мной

ТакжеЯ пробовал это как systemd, но это также не удалось.Мне нужен любой способ запустить этот скрипт, кроме добавления его в логин, я хочу, чтобы он запускался до того, как пользователь войдет в систему.Есть предложения?

hostname=""
ip=""
netmask=""
gw=""
opts=""
answer="n"
device="eth0"
hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'`
dns1="205.171.2.65"
dns2="205.171.3.65"

curTTY=`/dev/tty`
exec < $curTTY > $curTTY 2> $curTTY
clear

while [ x"$answer" != "xy" ] && [ x"$answer" != "xY" ] ; do
        echo -n "enter hostname: "; read hostname
        echo -n "enter ip: "; read ip
        echo -n "enter netmask: "; read netmask
        echo -n "enter default gw: "; read gw
        echo -n "hard set '100baseTX full-dulplex' [y/n] " ; read opts
        echo

        echo You entered:
        echo -e "\thostname: $hostname"
        echo -e "\tip: $ip"
        echo -e "\tnetmask: $netmask"
        echo -e "\tdefault gw: $gw"
        echo -e "\tset 100baseTX full-duplex: $opts"
        echo -n "Is this correct? [y/n] "; read answer
done

if [ x"$opts" = "xy" ] ; then
        opts="speed 100 duplex full autoneg off"
else
        opts=""
fi

sed -i -e 's#^\(HOSTNAME=\).*$#\1'"$hostname"'#' /etc/sysconfig/network
echo GATEWAY=$gw >> /etc/sysconfig/network

echo DEVICE=$device > $scrFile
echo BOOTPROTO=static >> $scrFile
echo ONBOOT=yes >> $scrFile
echo NM_CONTROLLED=no >> $scrFile
echo HWADDR=$hwaddr >> $scrFile
echo IPADDR=$ip >> $scrFile
echo NETMASK=$netmask >> $scrFile
echo USERCTL=no >> $scrFile
echo DNS1=$dns1 >> $scrFile
echo DNS2=$dns2 >> $scrFile

if [ "x$opts" != "x" ] ; then
        echo 'ETHTOOL_OPTS="'"$opts"'"' >> $scrFile
fi

Заранее спасибо

...