にランダムな配列項目を避けますか?は、私は次のコードを持っているbashの
0
A
答えて
0
あなたは、いくつかの簿記を行う必要があります。
2つの可能性:
- をa_letters配列
- から使用済みの文字を削除しますが、未使用にヒットするまで印刷された文字を追跡し、ランダムに実行します1。
私はオプション1のために行くだろう:
n=1
a_letters=("a" "b" "c" "d" "e")
while [ $n -le 3 ]; do
uniqueLetters=($(printf '%s\n' "${a_letters[@]}"))
rand=$[ ($RANDOM % ${#a_letters[@]})]
echo "${uniqueLetters[$rand]}"
a_letters=("${a_letters[@]/${uniqueLetters[$rand]}}")
n=$(($n+1))
done
(未テスト)。
選択した文字を配列a_letters
から削除し、配列サイズをランダムに使用して、自動的に縮小された配列サイズを修正します。
+0
私は簿記について考えました:-)今後の使用のために配列の要素をそのまま残しておきたいのですが?さらに、結果は常に3文字にする必要があります。 1日に1回実行する必要があります。 – silverscales
+0
'a_letters'が変更されないように、ループごとに' a_letters'のコピー配列を設定することができます(実際には最も単純なオプションです)。 –
関連する問題
- 1. は、私は次のコードを持っているbashの
- 2. コードは、私は次のコードを持っている別の1
- 3. のbash:私は.SHファイルに次のコードを持っている数字
- 4. Angular2コードは、私は次のコードを持っているインラインテンプレートエラーに
- 5. bashのループ私は次のようなbashスクリプトを持って
- 6. は、私はそのようなコード持っているbashの
- 7. 私は次のコードを持ってクリック
- 8. 私は次のコードを持っている私のルートユーザーディレクトリ
- 9. 私は、次のPHPコードを持っている私のデータベース
- 10. jqueryのは、私は次のコードを持っているのdiv
- 11. は、私は次のコードを持っているJavaの
- 12. は、私は、次のコードを持っているJavaの
- 13. は、私は次のコードを持っているのコンストラクタ
- 14. レジストリのリダイレクトは、私は次のコードを持っているHKEY_CURRENT_USER
- 15. は、プログラム私は次のコードを持っているのDataTable
- 16. は、私は次のコードを持っているのPython
- 17. Haskellは、私は次のコードを持っているのInt
- 18. は、私は次のPythonコードを持っているのPython
- 19. は、私は次のコードを持っているエンティティの作成
- 20. は、私はPythonで、次のコードを持っているのpython
- 21. は、私は次のコードを持っているwxPythonの
- 22. は、私は次のコードを持っているjQueryのコールバック
- 23. は、私はPythonで、次のコードを持っているNode.jsの
- 24. アレイのFileInfo []は、私は次のコードを持っているファイル
- 25. ブロックフローの実行は、私は、次のコードを持っている
- 26. は、私は次のコードを持っている特定のワークブック
- 27. JSのdocument.createElementは、私は次のコードを持っている
- 28. jQueryのは、私は次のコードを持っている
- 29. ( ")私は次のコードを持っているはずのjQuery
- 30. SceneManager.LoadSceneAsyncは()私は次のコードを持っているのiOS
[BASHシェルで配列の要素をシャッフルする簡単な方法?](https://stackoverflow.com/questions/5533569/simple-method-to-shuffle-the-elements-of-an- array-in-bash-shell) – melpomene
'printf'は不要です。 'uniqueLetters =(" $ {a_letters [@]} ")'は同じことを達成します。 – chepner
関連:https://stackoverflow.com/q/3846123/4957508 –