if [ "$board_last" == "0" ]; then for i in *.conf; do ((count++)) name=`ls $i | cut -d "_" -f2 | cut -d "." -f1` echo "---$count. $name" board_name[count]=$i done fi if [ "$board_last" != "0" ]; then echo "---输入N/n 进行下一块背板 : `ls ${board_name[board_last]} | cut -d "_" -f2 | cut -d "." -f1`" fi echo "---输入回车键刷新界面" echo "----------------------------------------------------------------------" if [ "$board_last" != "0" ]; then echo -n "---请输入N/n 进行一块板子的测试 : " else echo -n "---请输入你的背板型号 : " fi read board_num if [ -z $board_num ];then beep_ctl 0 return fi if [ "$board_num" == "0" ];then beep_ctl 0 POS="0" return elif [ “$board_num” == "N" ] || [ "$board_num" == "n" ]; then beep_ctl 0 if [ "$board_last" != "0" ]; then board_num=$board_last else echo -e "\033[31m ---错误!!! 请输入正确的选择...\033[0m " return fi fi
时间: 2023-07-21 21:07:45 浏览: 101
VirtualBreadboard:用于测试电路的虚拟面包板
这段代码是一个bash脚本片段,它根据用户的输入进行条件判断和处理。让我逐行解释一下它的功能:
1. `if [ "$board_last" == "0" ]; then`:如果变量`board_last`的值等于"0",则执行下面的代码块。
2. `for i in *.conf; do`:对于当前目录中所有以".conf"结尾的文件,依次执行下面的代码块。
3. `((count++))`:自增变量`count`的值。
4. `name=`ls $i | cut -d "_" -f2 | cut -d "." -f1``:获取文件名中以"_"为分隔符的第二个部分,并去掉扩展名,赋值给变量`name`。
5. `echo "---$count. $name"`:输出带有序号的文件名。
6. `board_name[count]=$i`:将文件名赋值给数组`board_name`的相应索引位置。
7. `fi`:结束if语句块。
8. `if [ "$board_last" != "0" ]; then`:如果变量`board_last`的值不等于"0",则执行下面的代码块。
9. `echo "---输入N/n 进行下一块背板 : `ls ${board_name[board_last]} | cut -d "_" -f2 | cut -d "." -f1`"`:输出提示信息,其中`${board_name[board_last]}`表示数组`board_name`中索引为`
阅读全文