Hack 31. PS3 – Prompt used by “select” inside shell script
by Ramesh
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]
当前内容版权归 Ramesh Natarajan 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Ramesh Natarajan .