주어진 문자열에서 부분 문자열의 위치(인덱스)를 알려주는 쉘 프로그램을 작성해야 합니다.
- 입력 예:-
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
.