Ubuntu Bash菜单脚本与参数



我必须编写一个bash菜单脚本,它可以运行其他脚本,但我不能为脚本传递参数,我该怎么办?这是我的代码

#!/bin/bash
# Bash Menu Script Example
PS3='Please enter your choice: '
options=("Option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Option 1")
./script1.sh
;;
"Option 2")
./script2.sh
;;
"Option 3")
./script3.sh
;;
"Quit")
break
;;
*) echo "invalid option $REPLY";;
esac
done

如何传递script1.sh、script2.sh和script3.sh 的参数

您可以在case语句中调用脚本时发送参数。例如,使用您的代码:

#!/bin/bash                                      
# Bash Menu Script Example                       

PS3='Please enter your choice: '                 
options=("Option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"                    
do                                               
case $opt in                                 
"Option 1")                              
./script1.sh HelloWorld              
;;                                   
"Option 2")                              
./script2.sh                         
;;                                   
"Option 3")                              
./script3.sh                         
;;                                   
"Quit")                                  
break                                
;;                                   
*) echo "invalid option $REPLY";;        
esac                                         
done   

/script1看起来像这样:

#!/bin/bash
echo $1

这是使用您的代码并选择第一个选项的结果。

[20:06:18][/] sh test.sh
1) Option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 1
HelloWorld

相关内容

  • 没有找到相关文章

最新更新