2 つの乱数を生成し、それらを追加して、ユーザーに (SUM が > または < 特定の値の場合) -- 続行するかどうかを尋ねる小さなスクリプトがあります。
したがって、スクリプトは次のとおりです。
bash-3.00$ cat use_random.sh
#!/bin/bash
func ()
{
a=$RANDOM
b=$RANDOM
sum=`expr $a + $b`
echo A = $a
echo B = $b
echo
echo Sum of A + B is : $sum
}
choice=y;
until [ "$choice" == "n" ];
do
# call func
echo ---------------------------------------------; echo;
func;
echo Sleeping for 3 seconds...
sleep 3;
echo -
echo "IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'"; echo;
echo -n "Do you want to continue (y/n)? : "; read choice;
echo ---------------------------------------------; echo;
done
bash-3.00$
と
スクリプトの実行 std.output のいくつかは次のとおりです。
bash-3.00$ ./use_random.sh
---------------------------------------------
A = 20359
B = 15866
Sum of A + B is : 36225
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : n
---------------------------------------------
bash-3.00$
bash-3.00$
bash-3.00$ ./use_random.sh
---------------------------------------------
A = 18058
B = 20395
Sum of A + B is : 38453
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : n
---------------------------------------------
bash-3.00$
bash-3.00$ bash-3.00$
bash-3.00$ ./use_random.sh
---------------------------------------------
A = 6016
B = 13489
Sum of A + B is : 19505
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : y
---------------------------------------------
---------------------------------------------
A = 25837
B = 3852
Sum of A + B is : 29689
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : y
---------------------------------------------
---------------------------------------------
A = 7565
B = 3220
Sum of A + B is : 10785
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : y
---------------------------------------------
---------------------------------------------
A = 32092
B = 22688
Sum of A + B is : 54780
Sleeping for 3 seconds...
-
IF SUM value is greater than 3500, then press 'n' otherwise, press 'y'
Do you want to continue (y/n)? : n
---------------------------------------------
bash-3.00$
上記のように、スクリプトを最初の 2 回実行したとき、SUM 値が 3500 未満だったので、「n」を押しました (これは、自動化の必要性のための必須のユーザー プロンプト/入力であり、ここでこの SUM を取得しました私の場合を入力するだけの例とプロンプト)、そしてそれが3500未満だったとき、私は「y」を押しました。SUM 値が 3500 未満になるまでの回数。
さて、ジェンキンスでこれを行うにはどうすればよいですか???
パラメータ化されたビルド プラグインを使用できません (A 変数と B 変数はランダムに生成されるため、ユーザーに渡したくありません)。つまり、スクリプトの呼び出し中に次のトリックは必要ありません。
エコー "入力" | script_or_command
または
script_or_command < file_with_input
次に、続行するためのユーザーの入力 (y または n を押す) は、これら 2 つの確率変数の値の合計に依存します。ユーザーは、最後に「n」を押してスクリプトに出入りする前に、「y」を何回押さなければならないかわかりません。つまり、ユーザーは事前に入力をハードコーディングできます (入力は実行時に依存するため)。注: SUM 値を使用して意思決定を行うのに十分な AI を作成したくありません。続行するためのユーザー入力は、Jenkins で実行したい私の要件です。
Jenkinsでスクリプトを「use_random.sh」と呼ぶ場合に、これを機能させる方法はありますか?
ギガAKS