如何在bash脚本中比较数组值?

友情链接0

我正在尝试生成具有某些要求的随机密码。

最少8个字符

Atleast 1小写字母

至少1个大写字母

至少1个号码

必须具有1个特殊字符

Atm我正在尝试将生成的随机密码与数字数组进行比较,以便可以确定生成的密码中是否存在数字。使此工作正常后,我想对其他数组(小写,大写和特殊字符)使用类似的检查。

但是,当我运行脚本时,if $phrase[1] = F and $num[1] = 1我的代码将回显"fine"而不是回显false...这两个值不相等,所以我不知道为什么它不起作用?

#!/bin/bash
#SET ARRAYS
num=( 0 1 2 3 4 5 6 7 8 9 )
all=( 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 )

echo

#GENERATE RANDOM PASSPHRASE
for (( i=0; i<8; i++ ))
do
phrase[$i]=${all[$RANDOM%62]}
        for (( j=0; j<10; j++ ))
        do
                #CHECK IF A VALUE FROM $NUM ARRAY IS IN $PHRASE
                if [ ${phrase[$i]}==${num[$j]} ]
                then
                echo phrase[$i]: ${phrase[$i]} #debug
                echo num[$j]: ${num[$j]}       #debug
                echo fine                     
                else
                echo false
                fi
        done
done

printf "%s" "Phrase: ${phrase[@]}" && echo
echo

echo ${num[@]}
echo
疾病

您需要在==运算符周围留有空格否则,bash只会看到一个大字并进行测试

[ -n "${phrase[$i]}==${num[$j]}" ]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash脚本中比较两个日期?

来自分类Dev

如何在Shell脚本中比较浮点值?

来自分类Dev

如何在javascript中比较两个数组的值

来自分类Dev

如何在bash中比较变量

来自分类Dev

如何在Java中比较int数组?

来自分类Dev

如何在python中比较数组列表?

来自分类Dev

如何在JavaScript中比较值

来自分类Dev

如何在mongodb中比较浮点值?

来自分类Dev

如何在jQuery中比较Div的值

来自分类Dev

我如何在bash中比较两个awk结果值

来自分类Dev

如何在Shell脚本中比较小时

来自分类Dev

如何在Kotlin中比较两个数组?

来自分类Dev

如何在JavaScript中比较两个数组?

来自分类Dev

如何在CUDA C ++中比较char数组?

来自分类Dev

如何在C ++中比较两个char数组?

来自分类Dev

如何在mysql查询中比较两个数组?

来自分类Dev

如何在PHP中比较两个数组与条件

来自分类Dev

如何在Android中比较String数组中的元素?

来自分类Dev

如何在php中比较数组的加法和减法?

来自分类Dev

如何在javascript中比较两个对象数组?

来自分类Dev

如何在SQL Server中比较不同的值

来自分类Dev

如何在shell中比较两个值?

来自分类Dev

如何在Mulesoft中的Xml中比较JSON对象值

来自分类Dev

如何在TypeScript中比较2个布尔值

来自分类Dev

如何在MongoDB中比较3个不同的值

来自分类Dev

如何在Python中比较对象属性的值?

来自分类Dev

如何在JMeter中比较数据库值

来自分类Dev

如何在SQL Server中比较不同的值

来自分类Dev

如何在SQL中比较2个touple值?