如何在bash中自定义select循环

时间:2015-11-17 04:15:45

标签: linux bash ubuntu fedora

我想知道是否可以自定义bash的选择循环。

我有这段代码:

select varName in list
do
case $varName in
    pattern1)
        command1;;
    pattern2)
        command2;;
    pattern1)
        command3;;
    *)
        echo "Error select option 1..3";;
esac            
done

输出是这样的:

 1) columbia    3) challenger  5) atlantis    7) pathfinder
 2) endeavour   4) discovery   6) enterprise
 #? 

我想在横向视图中订购选项,并通过其他内容更改提示[#?]

由于

1 个答案:

答案 0 :(得分:1)

select显示PS3提示。

您可以尝试以下方式:

echo $PS3
old_PS3=$PS3
export PS3="make a selection :D"
list='columbia challenger atlantis pathfinder endeavour discovery enterprise'
select varName in $list
do
case $varName in
    pattern1)
        command1;;
    pattern2)
        command2;;
    pattern1)
        command3;;
    *)
        echo "Error select option 1..3";;
esac            
done
# set PS3 back to original
export PS3=$old_PS3