Bash
while循環期間維護讀取變數的方法
在“輸入伺服器名稱”並
$servselect
在下面的腳本中設置變數後,在選擇“Hello”和“Goodbye”選項後,該變數將失去。這需要再次完成“輸入伺服器名稱”提示。有沒有辦法在腳本完全退出之前維護該變數?任何建議將不勝感激。#!/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
您將其設置在循環內,因此它將不斷提示您。
我將有兩個循環 - 一個用於提示輸入伺服器名稱並一直提示直到提供有效值,然後一個用於執行選項 A 或 B 或退出。
對於像這樣的純程式問題,您最好在 stackexchange 上提問