IP

LINUX HACK 31

Hack 31. PS3 - Prompt used by “select” inside shell script

You can define a custom prompt for the select loop inside a shell script, using the PS3 environment variable, as explained below.


Shell script and output WITHOUT PS3:


ramesh@dev-db ~> cat ps3.sh select i in mon tue wed exit do
case  $i  in

mon) echo "Monday";; tue) echo "Tuesday";; wed) echo "Wednesday";; exit) exit;;

esac done

ramesh@dev-db ~> ./ps3.sh 1) mon
2)  tue

3)  wed

4)  exit

#?  1

Monday

#?  4

[Note: This displays the default "#?" for select command prompt]
 
Shell script and output WITH PS3:


ramesh@dev-db ~> cat ps3.sh PS3="Select a day (1-4): " select i in mon tue wed exit do
case  $i  in

mon) echo "Monday";; tue) echo "Tuesday";; wed) echo "Wednesday";; exit) exit;;

esac done

ramesh@dev-db ~> ./ps3.sh 1) mon
2)  tue

3)  wed

4)  exit

Select  a  day  (1-4):  1

Monday

Select  a  day  (1-4):  4

[Note: This displays the modified "Select a day (1-4):" for select command prompt]

0 comments:

Post a Comment