Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

bashで配列の中身をランダムに抽出する。

$
0
0

やりたいこと

bashで配列の中身をランダムに抽出したい!
これってトリビアのタネになりませんか?

やり方

bashでは${#ARRAY[*]}で配列のサイズが取得できる。

random_array.sh
#!/bin/bashreadonly ARRAY=("foo""bar""baz""qux""quux""corge")echo${#ARRAY[*]}# 6echo${#ARRAY[@]}# 6 @でも取得できるらしい。

次にランダムな値ですが、bashではRANDOMという謎の変数が用意されているらしい。
0〜32767までが範囲になっている。

random_array.sh
#!/bin/bashecho$RANDOM# 14067echo$RANDOM# 31125 値がランダムに取れている。echo$(($RANDOM%10))# 3     0〜9までの10パターンが取得できる。

これを組み合わせて使えば、配列からランダムな値が取得できる!

random_array.sh
#!/bin/bashreadonly ARRAY=("foo""bar""baz""qux""quux""corge")echo${ARRAY[$(($RANDOM%${#ARRAY[*]}))]}# foo

Viewing all articles
Browse latest Browse all 2722

Trending Articles