如何仅使用小写字母作为Bash中的输入参数

问题描述 投票:0回答:1

我只想在输入中使用小写字母。我已经尝试过[a-z],[a-z ^ A-Z]和[:lower:]。但这没有帮助。

仅当整个字符串为大写时,所有表达式才会循环到else循环。

示例:

如果是1.演示---它表示语法有效2.演示---表示语法有效3. DEMO ---表示语法无效

但是即使输入的内容与示例1类似,我也需要语法无效。

#!/bin/bash
client_name=$1

if [[ "$client_name" =~ [:lower:] ]]
        then
        echo " CLIENT Name Syntax is Valid"
        else
        echo -e "CLIENT Name Syntax is Invalid"  
        exit 01
fi 

任何建议将不胜感激。谢谢

bash
1个回答
0
投票

[[:lower:]检查小写字母是否存在,请使用[:upper:]代替

client_name="Demo"

if [[ "$client_name" =~ [[:upper:]] ]]; then
  echo "uppercase character found"
else 
  echo "all lowercase"
fi
© www.soinside.com 2019 - 2024. All rights reserved.