特定の文字列内の部分文字列の場所(インデックス)を知らせるシェルプログラムを作成する必要があります。
- 入力例:-
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" ]]
2つの文字列が同じであることを確認します。 1つは他のものの部分文字列になるように意図されているため、ほとんど一致しないため失敗しますif
。