Hus*_*ail 0 bash shell terminal
我有以下代码,其中用户选择文件类型,然后我为每种情况运行某些代码:
#!/bin/bash
PS3='Please enter your file type choice: '
options=(".c (C)" \
".cpp (C++)" \
".css (CSS)" \
".html (HTML)" \
".java (Java)" \
".ms (Groff)")
select option in "${options[@]}" # Asks for the option choice
do
case "${option}" in
".c (C)") # C programming file
echo "C OPTION SELECTED"
;;
".cpp (C++)") # C++ programming file
echo "C++ OPTION SELECTED"
;;
".css (CSS)") # CSS programming file
echo "CSS OPTION SELECTED"
;;
".html (HTML)") # HTML File
echo "HTML OPTION SELECTED"
;;
".java (Java)") # Java programming file
echo "JAVA OPTION SELECTED"
;;
".ms (Groff)") # Groff markup file
echo "GROFF OPTION SELECTED"
;;
*) echo "invalid option $option"
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
我想知道如何才能做到这一点,在 case 语句中,您可以通过数组的索引而不是数组的值来处理每个案例:
#!/bin/bash
PS3='Please enter your file type choice: '
options=(".c (C)" \
".cpp (C++)" \
".css (CSS)" \
".html (HTML)" \
".java (Java)" \
".ms (Groff)")
select option in "${options[@]}" # Asks for the option choice
do
case "${option}" in
1) # C programming file
echo "C OPTION SELECTED"
;;
2) # C++ programming file
echo "C++ OPTION SELECTED"
;;
3) # CSS programming file
echo "CSS OPTION SELECTED"
;;
4) # HTML File
echo "HTML OPTION SELECTED"
;;
5) # Java programming file
echo "JAVA OPTION SELECTED"
;;
6) # Groff markup file
echo "GROFF OPTION SELECTED"
;;
*) echo "invalid option $option"
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
我做了很多研究,但我不是最擅长 bash(但我正在学习)。对不起,如果解决方案很明显,但我会很感激你的帮助,你。
来自help option:
读取的行保存在变量中
REPLY。