Codecademy에서 명령줄 과정을 수강하고 있는데 오류가 발생하고 왜 거기에 있는지 이해가 되지 않습니다.
script.sh 파일에 다음 코드를 넣었습니다.
01 #!/bin/bash
02 first_greeting="Nice to meet you!"
03 later_greeting="How are you?"
04 greeting_occasion=0
05
06
07 if [$greeting_occasion -lt 1]
08 then
09 echo $first_greeting
10 else
11 echo $later_greeting
12 fi
Bash에서 실행하면 다음과 같은 결과가 나타납니다.
$./script.sh
./script/sh: line 6: [1: command not found
How are you?
greeting_occasion
값을 변경해 보았지만 항상 How are you?
6번째 줄에서 오류가 발생합니다. 그리고 5번째 줄부터 시작하도록 조건을 변경해 보았는데 같은 줄, 6번째 줄에서도 같은 에러가 나고 결과도 마찬가지 입니다 How are you?
.
이것에 대한 생각이 있나요? 시간 내 주셔서 감사합니다!
답변1
공간이 필요합니다 [ $greeting_occasion -lt 1 ]
.
$greeting_occasion
로 변환 되었습니다 1
. 이는 다음을 제공합니다.
if [1 -lt 1]
따라서 bash는 [1
인수를 사용하여 실행을 시도 -lt
하고 1]
종료 코드를 다음으로 전달합니다.if