2016-12-18 3 views
1

入力を検証するための汎用関数を記述しようとしています。 主要な制約は、空の文字列が指定されていないということです。Linuxは入力を検証しています

function getvalidinput(){ 
    prompt=$1; 
    userinput=""; 
    while [ "$userinput" = "" ]; do 
      echo $prompt; 
      read userinput; 
    done; 
    eval "$1=$userinput"; 
} 

これそれが唯一のプロンプトの最初の単語を促し、その後、それはしようとするが、最初に

somevar="Enter the value of this string var"; 
getvalidinput $somevar; 
echo $somevar; 

を呼び出して値をバック渡す必要があります実際に戻り文を実行します。

Linuxは簡単な要件で失敗します。簡単な文字列関数を実行できるライブラリはありますか?

答えて

0

Urrrggg私はそれを信じることができます。明らかにBASHには範囲がありません。 これは恐ろしいです、しかし、すべてのことが必要とされているが、その後、呼び出し側が

getvalidinput "Please enter a value"; 
echo $userinput; 
にアクセスすることができます

function getvalidinput(){ 
    prompt=$1; 
    userinput=""; 
    while [ "$userinput" = "" ]; do 
      echo $prompt; 
      read userinput; 
    done; 
} 

であることを意味します

関連する問題