Я пытаюсь сгенерировать пароль с определенными требованиями. Когда я вхожу в то время цикла, чтобы сгенерировать случайный характер из массива оно хорошо, пока я не добавить счетчик для моего индекса «$ я»строка 39: [: ==: ожидаемый операционный оператор
С помощью следующего кода:
#!/bin/bash
#SET ARRAY VALUES
all=(0 1 2 3 4 5 6 7 8 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)
echo
#SET COUNT VALUES TO 0
numc=0
lowc=0
upc=0
i=0
while true;
do
#GENERATE PASSWORD
phrase[$i]=${all[$RANDOM%62]}
#CHECK IF PASSWORD MEETS REQUIREMENTS
for ((n=0; n<10; n++))
do
if [ ${phrase[$i]} == ${all[$n]} ]
then
echo num ${all[$n]}
let "numc++"
let "i++"
fi
done
Я получаю ошибку "строка 39: [: ==: ожидаемый унарный оператор"
, но если я удалю линию let "i++"
, то ошибки не будет. Но мне нужно увеличить свой индекс для того, чтобы выйти из цикла и проверить минимальную длину пароля
Есть ли причина, по которой вы не используете генератор паролей, как в большинстве приложений для хранения паролей, или ['pwqgen'] (http: //www.openwall. ком/passwdqc /)? Это задание? –
'all = ({0..9} {a..z} {A..Z})' – kojiro
да его назначение, поэтому мне нужно создать генератор паролей самостоятельно – hotlinks0