reading user input in %pre script no longer working

Jason Kohles email at jasonkohles.com
Thu Sep 6 13:11:10 UTC 2007


On Sep 6, 2007, at 4:55 AM, Steve Robson wrote:

> Ben Grommes <ben.grommes at visionshareinc.com> spake thusly:
>
>> My kickstart script reads user input in the %pre scriptlet using  
>> the read
>> command.  This worked fine in CentOS 4.4, but in CentOS 4.5 it no  
>> longer works.
>>  It appears that the read command is not taking input from the  
>> console.
>> I'm doing a headless mode install (text option in ks.cfg).
>> Here is my %pre script:
>> %pre
>> install="no"
>> while [ "$install" != "yes" ]; do     (
>>     echo -n "Proceed with install? "
>>     )>/dev/tty1
>>     read install
>> done
>> The output of the echo shows up on the screen, but the read  
>> command doesn't
>> accept any input from the keyboard.
>> Any suggestions for how to debug this would be appreciated.
>
> Try explicitly redirecting stdin as well:
>
> %pre
> install="no"
> while [ "$install" != "yes" ]; do
>     ( echo -n "Proceed with install? " ) >/dev/tty1 </dev/tty1
>     read install
> done
>
This is a good suggestion, but based on the symptoms it's more likely  
that stdin needs to be redirected to the read, rather than the echo.   
What I would do is either use chvt to change vts and get rid of the  
redirection entirely, or use exec to redirect for the entirety of the  
script:

# Method 1 - chvt with no redirection
%pre
chvt 1
install="no"
while [ "$install" != "yes" ]; do
     echo -n "Proceed with install?"
     read install
done
chvt 3 # (or maybe 6, depending on the type of install you are doing)

# Method 2 - redirect the whole script
%pre
exec </dev/tty1 >/dev/tty1 2>/dev/tty1
install="no"
while [ "$install" != "yes" ]; do
	echo -n "Proceed with install?"
	read install
done

# Method 3 - wrap the redirection around the whole loop
%pre
(
	install="no"
	while [ "$install" != "yes" ]; do
		echo -n "Proceed with install?"
		read install
	done
) < /dev/tty1 >/dev/tty1 2>/dev/tty1

-- 
Jason Kohles
email at jasonkohles.com
http://www.jasonkohles.com/
"A witty saying proves nothing."  -- Voltaire





More information about the Kickstart-list mailing list