String Bash中的字符串布尔值
我试图创建一个脚本,它包含两个参数:一个单词和一个字符,然后返回该字符在单词中出现的次数 这是我的密码:String Bash中的字符串布尔值,string,bash,boolean,String,Bash,Boolean,我试图创建一个脚本,它包含两个参数:一个单词和一个字符,然后返回该字符在单词中出现的次数 这是我的密码: #!/bin/bash ((counter=0)) for i in $1 do if i == $2 then ((counter=counter+1)) fi echo $counter done 我的脚本每次返回1。我只精通python,所以我的bash语法很差。提前谢谢 如果您使用Bash语法 grep -c "$2" <<<"$1" grep-c“$2
#!/bin/bash
((counter=0))
for i in $1
do
if i == $2
then
((counter=counter+1))
fi
echo $counter
done
我的脚本每次返回1。我只精通python,所以我的bash语法很差。提前谢谢 如果您使用Bash语法
grep -c "$2" <<<"$1"
grep-c“$2”如果使用Bash语法
grep -c "$2" <<<"$1"
grep-c“$2”您应该尝试以下简单的bash代码
#!/bin/bash
for ((i=0; i<${#1}; i++)); do
[[ $2 == ${1:$i:1} ]] && ((count++))
done
echo "There's $count occurrences of $2 in $1"
#/bin/bash
对于((i=0;i您应该尝试以下简单的bash代码
#!/bin/bash
for ((i=0; i<${#1}; i++)); do
[[ $2 == ${1:$i:1} ]] && ((count++))
done
echo "There's $count occurrences of $2 in $1"
!/bin/bash
对于((i=0;我能解释一下${1:$i:1}到底做了什么吗?这是一个bash参数扩展:指定偏移量以打印任意长度的字符串。搜索子字符串扩展:这是一个子字符串命令。第一个参数是变量的名称(1
,如$1
),第二个是开始索引,第三个是长度。${v:2:3}
在长度为3的索引2处提取一个子字符串$v
。我收到以下错误:./countchars:line 8:在查找匹配项“”时出现意外EOF。/countchars:line 11:语法错误:文件意外结束,无需担心,我已修复它。您能解释一下${1:$I:1}的确切含义吗是吗?这是一个bash参数扩展:指定偏移量以打印任意长度的字符串。搜索子字符串扩展:这是一个子字符串命令。第一个参数是变量名(1
,如$1
),第二个是开始索引,第三个是要采用的长度,这看起来很混乱。${v:2:3}
在长度为3的索引2处提取一个子字符串$v
。我收到以下错误:./countchars:line 8:在查找匹配的“”时出现意外的EOF。/countchars:line 11:语法错误:意外的文件结尾,不管怎样,我已经修复了它。以前是如何完成的