Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Bash中的字符串布尔值_String_Bash_Boolean - Fatal编程技术网

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:语法错误:意外的文件结尾,不管怎样,我已经修复了它。以前是如何完成的