我正在使用对话框–checklist创build一个菜单来为多个用户添加或覆盖ssh密钥。 菜单是这样的
0) append 1) user1 2) root
我想要发生的是,如果select零选项,并select选项1或2或两者都将被附加,而不是重写ssh密钥时重新生成。
我是新来的对话,似乎无法拿出导致这种情况发生的逻辑。
我的第一个想法是使用–separate-output选项,并以某种方式使用grep的结果,但必须有一个更优雅的解决scheme。 任何帮助或build议表示赞赏。
像这样运行对话框:
dialog --checklist text 50 20 10 0 append 0 1 user1 0 2 root 0 2> checklist.txt
2> --checklist stderr到自己的文件 – 这是--checklist的输出结束的地方。
然后像这样读取checklist.txt的内容:
APPEND=0 for a in $(cat checklist.txt); do if [ "$a" = "\"0\"" ]; then APPEND=1 continue fi if [ "$APPEND" -eq 0 ]; then # Copy ssh key, without appending else # Append ssh key fi done