我正在使用whiptail命令并使用位置参数添加“menu”项。按预期工作。
不幸的是,当我完成一个菜单项并选择另一个菜单项时,位置参数是累积的AKA以前的菜单选择也会传递给处理功能并显示/启用“新”选项。
我试过了
unsel“$ @”
它不起作用
这是菜单项处理代码:
while [[$#-ge 2]];做 #buidl arraqy
此处的代码错误 - a()数组未在每次新传递时初始化 这个功能
a+=("$2" "$3" "$onoff") #echo "${a[@]}" onoff=off shift 2 done
echo“$ {a [@]}”
whiptail - 标题“$ 1 $ LINENO” --checklist“选择执行命令25 80 15” - 分离输出$ WT_HEIGHT $ WT_WIDTH $ WT_MENU_HEIGHT \“$ {a [@]}”\ 2>结果
以下是设置位置参数/菜单项的代码的一部分:
案例$ ADVSEL in 1 \ *)
shift $
set -- "DEBUG component SYSTEM $LINENO" \ "uname --help" "TEST uname " \ "uname --all" "TEST uname -all" \ "systemctl -h" "? help $LINENO TEST 4 " \ "sudo reboot" "$LINENO " \ "sudo shutdown" "$LINENO " \ "dmesg " "$LINENO " \ "lsmod" "Linux running modules $LINENO" \ "ls ras*" "list all rasbi_ files " ;;
我知道我可以使用单通道“unsel”命令重置阵列,但我不知道要重置的正确语法 位置数组。
答案 0 :(得分:-1)
如果它不止一行,您可以将其复制并保存在文件中。之后,您可以将其作为普通脚本运行。有关详细信息,请参阅本教程。 How to run .sh files
答案 1 :(得分:-2)
已解决 我没有初始化位置参数数组-在原始文章
中进行了编辑