1

a-zA-Z、およびで構成される文字のリストを定義する最良の方法は何0-9ですか? このデータを保持するために 1 つの巨大な配列を入力することを本当に避けたかったのですが、どうすればこれを Bash で実現できますか? Python では、このデータのリストを次のように結合できます。

for i in xrange(length):
    password += random.choice(string.ascii_letters + string.digits)

print password
4

3 に答える 3

4

が文字列の場合listは、次のことができます。

バッシュ

kent$ echo {a..z} {A..Z} {0..9}
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9

zsh

kent$  echo {a-z} {A-Z} {0-9}

これがあなたが探しているものであることを願っています。

編集

OPは配列を望んでいます:

kent$ arr=( {a..z} {A..Z} {0..9} )
kent$ echo ${arr[@]}
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9
kent$ echo ${arr[3]}
d
于 2013-05-08T22:22:33.360 に答える
1

この方法で配列を生成します。

array=( ); 
i=0; 
for c in {a..z} {A..Z} {0..9}; do 
    array+=("$c"); 
    let i++; 
done
于 2013-05-08T22:30:07.360 に答える