检查shell脚本有哪些参数

时间:2017-06-28 11:14:10

标签: linux bash shell glob

我的shell脚本需要一些帮助。我有这个:

#!/bin/bash

for i in $*
do
   if [[ $i = *[a-zA-Z] ]]
      then echo $i contains just letters.
   elif [[ $i = *[a-zA-Z0-9] ]]
      then echo $i contains numbers and letters.
   else
      echo Error.
done

我希望结果如下:

$ ./script.sh abCd a9d a-b
abCd contains just letters.  
a9d contains numbers and letters.  
Error.

但我在每种情况下都得到contains just letters

我也尝试过grep命令,但没有成功。

1 个答案:

答案 0 :(得分:2)

您的RegEx错了。请尝试以下方法:

#!/bin/bash

for i in $*
do
   if [[ $i =~ ^[a-zA-Z]+$ ]]
      then echo $i contains just letters.
   elif [[ $i =~ ^[a-zA-Z0-9]+$ ]]
      then echo $i contains numbers and letters.
   else
      echo Error.
   fi
done