2013-01-03 2 views
1

이 프로젝트는 더 큰 프로젝트의 일부이지만이 부분을 작동시키지 못하면 뇌의 방구가 생깁니다.간단한 조건문을 사용하여 쉘 스크립트를 작동하는 데 문제가 발생했습니다.

#!/bin/bash 

echo -n "Do you wish to download/checkout the source code? > " 
read text 
if ["$text" = "Yes"] 
then 
    do something 
else 
    do something else 
fi 

사용자가 입력 한 내용을 읽은 다음 간단한 조건문을 읽어야합니다. 하지만이 오류가 발생합니다.

./check.sh: line 6: [Yes: command not found 

제가 쉘 스크립트를 올바르게 포맷했으나 그렇지 않다고 생각합니다.

답변

2

괄호 후 공백을 추가

if [[ "$text" = "Yes" ]]

것은 항상 이중 대괄호를 사용하는 것이 좋습니다 문자열에 대한 작업을 수행 할 때. 공백과 줄 바꿈으로 코드가 올바르게 작동합니다.

+0

감사합니다. 나는 껍질이 간격에 대해 엄격하다는 것을 깨닫지 못했다. – Zeratas

+1

쉘 suprises 꽤 자주 :) 환영합니다 –

+0

@Sempus, 이것은'['와'[[''단순한 구문이 아니기 때문에 실제로 명령입니다. 따라서 명령 이름과 첫 번째 인수를 구분하는 공백이 필요합니다. bash 세션에서'help [' –

관련 문제