如何使用Shell查找输入的变量中是否存在指定数组内的字符?
例如:定义属组list1=('~''!''@''#''$')用户输入了一个字符串为ex@mple怎么通过shell脚本判断用户输入的这个字符串中是否包含list1数组中的...
例如:
定义属组
list1=('~' '!' '@' '#' '$')
用户输入了一个字符串为ex@mple
怎么通过shell脚本判断用户输入的这个字符串中是否包含list1数组中的某个字符? 展开
定义属组
list1=('~' '!' '@' '#' '$')
用户输入了一个字符串为ex@mple
怎么通过shell脚本判断用户输入的这个字符串中是否包含list1数组中的某个字符? 展开
展开全部
list1=('~' '!' '@' '#' '$')
str="ex@mple"
spec_str=$(echo ${list1[*]} | sed 's/\ //g')
printf "$str" | awk -v spec_str=$spec_str '{
for (i = 1; i <= length(spec_str); ++i) {
pos = index($0, substr(spec_str, i, 1))
if (pos != 0) {
printf "include char %s at %s\n", substr(spec_str, i, 1), pos
exit
}
}
}'
输出如下,具体需求你自己根据需要调整:
include char @ at 3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询