我们必须编写一个 shell 程序来告诉给定字符串中子字符串的位置(索引)。
- 示例输入:-
Code Quotient - Get Better at Programming
at
- 样本输出:- 28
我已经编写了代码,但在每种情况下它都给出-1..请有人帮助我找到错误。
#!/bin/bash
read a
read b
if [[ "$a" == "$b" ]]; then
rest=${a#*$b}
echo $(( ${#a} - ${#rest} - ${#b} +1 ))
else
echo "-1"
fi
答案1
您的表达式[[ "$a" == "$b" ]]
检查两个字符串是否相同。由于其中一个旨在成为另一个的子字符串,因此它们几乎永远不会匹配,因此无法if
成功。