• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

Linux shell. for 문에서 줄바꿈을 기준으로 반복문 실행하기

콜라 414

0

4

lists라는 변수에는 다음과 같은 내용이 저장되어있습니다.

$ lists=`find . -type f`

./a/a
./b/b
./d/d

 

 

저는 다음 for문을 실행시켰습니다.
for i in "$lists"; do echo $i; echo 1; done

저는 다음과 같은 결과가 출력 되리라고 예상했습니다.
./a/a
1
./b/b
1
./d/d
1


하지만 결과는 다음과 같습니다.
./a/a
./b/b
./d/d
1


줄 바꿈을 기준으로 나누어서 실행될 것이라고 예상했으나.. 
줄바꿈 마저도 하나의 텍스트로써 i 안에 넣어서 실행해버리더군요.
쌍따옴표를 없애서 아래 명령도 수행해봤습니다.
for i in $lists; do echo $i; echo 1; done


구글에 검색해봐도 뭐라 해야 할지 모르겠습니다.
for 문을 영어로 뭐라 검색해야 할지도 모르겠고;;ㅋ꙼̈ㅋ̊̈ㅋ̆̈
for라고 검색하면 구글이 이 for를 for문이 아니라 전치사로 인식해버려요;;

신고공유스크랩
4
1등
콜라 글쓴이 2022.08.04. 14:11

for문은 영어로 for loop라고 한다고 합니다.

좀 더 찾아봐야겠네요.ㅎㅎ

콜라 글쓴이 2022.08.04. 14:27
콜라

원인을 찾았습니다.

zsh 때문이었습니다.

 

shell의 미용(?)을 위해 zsh를 사용하고 있었는데

이 내용을 그대로 shell 파일로 만들어서 #!/bin/bash로 설정했더니

매우 잘됩니다.

 

#!/bin/zsh로 하면 역시나 질문 글과 같은 문제가 발생합니다.

 

zsh에서는 line by line으로 for loop 돌리는 방법을 찾아봐야겠습니다.

profile image
달소 2022.08.04. 14:35
콜라

오.. 역시 자가해결이..짱이군요 ㅎㅎ..

스크립트같은경우에는 대부분 #!/bin/bash로 사용하고있어서 레퍼런스도 그쪽이 많을것같긴합니다

콜라 글쓴이 2022.08.04. 14:39
달소

스크립트에서는 bash로 하면 해결이 가능하지만, bash는 너무 못생겼는데다가..

오라클 여러 기기 관리하다보면 지금 보고 있는데 A1인지, E2 인지 헷갈려서

zsh를 선호하고 있습니디.

 

UI(?)의 색상과 모양으로부터 구분이 가능하니까 명령줄 시작 부분이나 터미널 창을 안보고 구분 가능하다는 점에서 좋아하는데 이런 문제가 있는 줄은 몰랐습니다.

 

역시 스택 오버 플로우 최고입니다.

제가 사용한 for 문  대신  while 문으로 사용하여 해결 가능하다고 합니다.

 

문제가 된 for 문

for i in "$lists"; do echo $i; echo 1; done

 

해결방안으로 찾아낸 while 문

while read -r i; do echo "$i 1"; done <<< "$lists"

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
질문 proxmox ssd 인식이 갑자기 안됩니다 고장인걸까요? 3 kmw_ 1일 전09:37 121 +1
질문 ZFS 풀에서 계속 에러가 뜹니다 3 bass9030 1일 전00:43 80 +1
잡담 백업 주기와 방법에 대한 고민 12 칼룬 1일 전18:12 216 +1
3846 질문
image
TANG 5시간 전11:33 64 0
3845 질문
normal
감자칩 22시간 전18:55 95 0
3844 질문
normal
숲형 1일 전11:21 214 0
3843 질문
image
kmw_ 1일 전09:37 121 +1
3842 질문
normal
bass9030 1일 전00:43 80 +1
3841 잡담
normal
칼룬 1일 전18:12 216 +1
3840 질문
normal
늘맑음 2일 전15:10 181 +1
3839 질문
image
게르노 2일 전12:26 67 0
3838 잡담
normal
bong90a 2일 전10:50 356 0
3837 후기
image
추주비 2일 전10:33 262 +1
3836 질문
normal
angrynerd 3일 전14:11 413 0
3835 오픈소스
image
달소 4일 전23:00 376 0
3834 후기
normal
N4100 4일 전18:56 430 +4
3833 가이드
file
펜타네스트 4일 전18:39 289 +1
3832 질문
image
똥쓰똥쓰 5일 전17:02 273 0
3831 후기
image
동도리군 5일 전10:27 313 0
3830 질문
image
칼룬 6일 전11:56 78 0
3829 질문
image
초보나스 6일 전11:13 324 0
3828 질문
image
kmw_ 6일 전22:29 212 0
3827 후기
image
달소 6일 전21:35 295 +1