#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
>. [아아아안녀어엉: 명령을 찾을 수 없습니다.
결국 '$ s1, s2' 가 '$ 경우, I want to 말하도다 미확인범은 어떻게 할 수 있지?'
내가 그냥 작동합니까 아웃해야 스페이스 비트. :/ Map_layer 말하도다 어떻게 합니까?
찾았다
if [[ "$s1" == "*$s2*" ]]
하지만 didn& # 39, 빗나갔다.
[1]: http://en.wikipedia.org/wiki/Bash_% 28Unixshell% 29 [2]: http://en.wikipedia.org/wiki/Ubuntu% 28operating_system% 29
내가 이 번호요 제안하세요.
if [ "$a" = "$b" ]
/ 닫기와 브래킷에 사이의 공백을 디이브이 열리는 이 & # 39 와 변수 = & # 39, 또한 공백이 랩할. 사인이야.
또한 주의해야 너회의 스크립트입니다 헤더입니다. # 39 의 차이점 작성하든지 it& 사용합니다.
#!/bin/bash
또는
#!/bin/sh
Bash4+ 참조용이므로. 참고: 공백은 사용할 때 문제가 생길 수 없는 말을 인용 부호를 사용하는 상술합니다. 항상 쿼트에 bash 작용하게 된다.
Bash4+ 예제는 다음과 같습니다.
if [[ "${str,,}" == *"yes"* ]] ;then
if [[ "$(echo "$str" | tr '[:upper:]' '[:lower:]')" == *"yes"* ]] ;then
if [[ "${str}" == *"yes"* ]] ;then
if [[ "${str}" =~ "yes" ]] ;then
정확히 일치하는 예 5, (대소문자 구분):
if [[ "${str}" == "yes" ]] ;then
정확히 일치하는 예 6, (대소문자 무시):
if [[ "${str,,}" == "yes" ]] ;then
예, 정확한 7 일치:
if [ "$a" = "$b" ] ;then
그런데 여기서 이 질문에 답을 이미 큰 혼란이 있을 것으로 보인다) 의 사이에 약간의 사용하여 단일 비유하 및 더블 같음
if [ "$s1" == "$s2" ]
차이점은 있는 스크립팅 언어를 사용하고 있다. Bash #! / bin / bash 등이 사용하는 경우 '다음' 에 '로 시작하는 스크립트입니다 및 먹이좀 스크립트입니다 피렌마트베이시'. '-' = '다음' 를 사용하여 bash 피렌마트베이시 실행하십시오 사용해야 합니다.
이건 더 이상 대한 답변! 예, 클루 () 은 오류 메시지:
>. [아아아안녀어엉: 명령을 찾을 수 없습니다.
해당 " 보여 주는 hi"; 그동안 연결된 다운스트림에서 " [".
보다 일반적인 프로그래밍 언어와 달리, bash, " [". 마찬가지로,) 는 명령을 더 명백하네 " ls". # 39 의 대접을 받지 못하고 해서 특별히 it& it& 상술합니다. - # 39 의 심볼에는 ", 즉, [". (대체) 와 $ s1" "; 바로 옆에 있는 이 질문에 서로 참여됨 (있는 그대로 올바른 Bash) 는 명령 및 그 후 해당 위치에 찾으려고 합니다. [아아아안녀어엉 - 원하는거요 알 수 없는 내주었다.
C 언어 및 기타 일부 언어, 이 " [". 다른 ", 문자 class" 약간만이라도 역할을 한 것으로 보인다. 다음 중 hi" 및 약간만이라도 분리형 ";).
이에 따라 개방 이후 " 공간이 필요합니다. [".
하지만, 정말 순수한 배시 'test' 에 포함된 버전으로 없이 추악한 시도하시겠습니까:
if ( exit "${s1/*$s2*/0}" )2>/dev/null
then
echo match
fi
설명: ' ()' 의 추가 서브셸 열려 있습니다. It if there was a 매치 종료하므로 0 인 경우, 정보기술 (it) 기업 공개를 일치시킵니다 오류가 있는 것을 함께 종료됩니다. $ s1 없었다 (ugly). / Dev / null 로 전달됩니까 오류: '이'.