在“input服务器名称”并在下面的脚本中设置$servselectvariables之后,在select“Hello”和“Goodbye”选项后,variables将丢失。 这需要再次完成“input服务器名称”提示。 有没有办法维持这个variables,直到脚本完全退出? 任何build议将不胜感激。
#!/bin/bash # while true; do read -p "Enter server name: " servselect servselect=${servselect:-servselect} echo $servselect has been selected! printf '%s\n' \ "" \ "[A] Hello" \ "[B] Goodbye" \ "[Q] Quit" \ "" read -n1 -p 'Enter response here:' response case $response in [Aa]* ) printf '%s\n' \ "" \ "Hello, $servselect" \ "" ;; [Bb]* ) printf '%s\n' \ "" \ "Goodbye, $servselect" \ "" ;; [Qq]* ) printf '%s\n' \ "" \ "Quitting..." \ "" break ;; * ) printf '%s\n' \ "" \ "Please choose A, B, or Q" \ "" ;; esac done
你在循环里面设置它,所以它会一直提示你。
我会有两个循环 – 一个提示input服务器名称,并保持提示,直到提供有效的值,然后一个做选项A或B或退出。
对于像这样的纯编程问题,您最好在stackexchange上询问