又在论坛学到东西了

shell脚本读入一个变量,怎样判断该变量中包含的是一个“至少一个字母,至少一个数字,至少一个特殊字符,长度大于6个字符”的字符串。

 
  
  1. #!/bin/bash 
  2. read pw 
  3. if [[ $pw =~ [0-9] && $pw =~ [a-zA-Z] && $pw =~ [^0-9a-zA-Z] && $pw =~ .{6,} ]] 
  4.   then 
  5.         echo ok 
  6.   else 
  7.         echo wrong 
  8. fi 

测试结果