Запустите интерактивный скрипт оболочки при загрузке Cent-OS 7
Я хочу запустить сценарий интерактивной оболочки при загрузке 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
заранее спасибо