inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Airflow 마스터 클래스

2-4 fruit operator 관련 오류 질문

355

nathan

작성한 질문수 87

0

선생님 안녕하세요

좋은 강의 감사합니다.

 

2-4 강의에서 select fruit 하는 부분에서 오류가 생겨서 질문 드립니다.

 

참고로 저는 리눅스가 아니라 docker on window를 사용하고 있습니다.

윈도우 상에서 bash 를 사용하는데 오류가 발생하는 것 같은데 해결방법을 모르겠어서요

 

저의 select_fruit.sh 는 아래와 같고요

FRUIT=$1

if [ $FRUIT == APPLE ];then echo "You selected Apple!"

elif [ $FRUIT == ORANGE ];then echo "you selected Orange!"

elif [ $FRUIT == GRAPE ];then echo "You selected Grape!"

else echo "You selected other fruits!"

fi

 

이것을 git bash 상에서 돌려보면 잘 돌아갑니다.

깃 성공.PNG

 

그런데, 윈도우 cmd에서 bash 로 돌리면 apple과 orange에 대해서도 다른 과일을 골랐다는 오류가 뜨고요

 

오류1`.PNG

그리고 airflow dag을 실행시켜도 같은 오류가 뜹니다.

에어 오류1.PNG에어오류2.PNG

 

git bash에서 제대로 결과가 나오는걸 보면 sh 파일 자체에는 문제가 없는것 같은데, airflow 상에서 실행이 안되는 이유가 무엇일까요 ㅠ

python 데이터-엔지니어링 airflow

답변 1

0

김현진

안녕하세요 nathan 님

일단 nathan님이 말씀하신 증상은 저도 확인했습니다. 원인은 좀 더 확인해봐야 할듯한데 테스트해보고 다시 남겨드릴께요.

0

김현진

nathan님

해당 파일을 윈도우 환경에서 작성하셨죠?

아무래도 Linux와 윈도우의 줄넘김 방식의 차이 때문에 발생하는 문제 같습니다.

 

윈도우즈에서는 줄 넘김을 할 때(엔터키) CR과 LF 라는 특수문자가 등장합니다.

즉 \r 로 표현되는 Carriage Return, \n 으로 표현되는 Line Feed 가 합쳐져서 하나의 줄넘김으로 인식합니다.

반면 Linux 환경에서는 기본적으로 \n을 줄 넘김으로 인식합니다.

 

따라서 윈도우 상에서 bash 명령으로 쉘을 제대로 수행하려면 줄 넘김을 모두 \n 로 작성하셔야 합니다. 다만 윈도우의 기본 에디터인 notepad 로는 저런 특수문자를 다루기가 쉽지 않기 때문에 무료 에디터 툴인 notepad++ 을 설치해서 보면 특수문자를 볼 수 있습니다.

아래는 윈도우의 notepad 에서 작성한 후 notepad++ 에 붙여넣은 것입니다.

언급했듯이 CR/LF 가 붙어있는 모습을 볼 수 있습니다.

 

 

image

참고로 특수기호 표시는 보기 > 기호보기 > 특수문자 표시에서 활성화 할 수 있어요

그리고 아래는 \r\n --> \n 로 바꾼 것입니다.

 

image

참고로 바꾸기는 컨트롤 f 누른 후 아래처럼 입력하셔서 바꿀 수 있어요.

image

이렇게 바꿔놓고 수행해보면 제대로 된 결과를 얻을 수 있을꺼에요 .

image

한번 해보시고 결과 알려주세요 ^^

 

pykrx 회원제 전환으로 인한 실습 불가

0

109

2

수료증 발급

0

81

3

에러 발생 관련 질문드립니다.

0

80

2

vscode 작업화면에 오류가 발생하지 않습니다.

0

69

2

plugins 폴더 생성

0

74

2

WSL에서 git push 가 안되요 ㅠ

0

112

2

chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.

0

66

2

github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ

0

721

2

설치중인데 venv를 꼭 써야할까요?

0

124

2

설치 버전 관련 질문입니다.

0

68

1

우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?

0

62

1

DAG 만들기 중 airflow 패키지 로드 에러

0

106

2

3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!

0

95

3

task_id 사용법이 뭔가 바뀐 것 같습니다.

0

76

3

email operator 오류 관련

0

66

2

plugins 폴더 관련

0

95

2

bash operator 관련 문의입니다

0

78

3

스케쥴러 - DAG 파싱 부하 줄이는 과정 질문

0

79

2

Dags refresh 주기 관련 질문

0

123

2

wsl 관련 질문입니다.!

0

73

2

macOS에서 docker 설치

0

93

2

템플릿 변수에 대한 오류

0

61

2

custom_image 디렉토리 문의드립니다.

0

54

2

ETL 인터뷰 관련 문의

0

102

2