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

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

콜라 416

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/debian 레포 변경사항 (N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware') 1 달소 17시간 전08:21 141 +1
잡담 Proxmox 사이트도 개편을 했나보네요 2 달소 18시간 전07:46 243 +1
질문 적용 방법을 모르겠습니다?? 13 초보나스 2일 전08:05 254 +1
3862 가이드
image
달소 2시간 전23:10 27 0
3861 가이드
image
달소 3시간 전22:54 36 0
3860 질문
normal
감자칩 6시간 전18:56 111 0
3859 질문
image
게르노 9시간 전16:08 50 0
3858 질문
image
동도리군 13시간 전12:14 77 0
3857 정보
image
달소 17시간 전08:21 141 +1
3856 잡담
image
달소 18시간 전07:46 243 +1
3855 가이드
image
달소 18시간 전07:24 210 0
3854 질문
normal
서버구축하자 1일 전13:09 385 0
3853 질문
image
미스터빈 2일 전20:09 210 0
3852 질문
image
초보나스 2일 전08:05 254 +1
3851 질문
normal
웹서버구축관심 3일 전02:22 320 0
3850 잡담
normal
달소 4일 전23:39 208 +2
3849 질문
normal
게르노 4일 전03:11 194 0
3848 질문
image
감자칩 5일 전20:04 292 0
3847 질문
normal
ljr10 5일 전19:45 206 0
3846 질문
image
TANG 5일 전11:33 232 0
3845 질문
normal
감자칩 6일 전18:55 151 0
3844 질문
normal
숲형 6일 전11:21 277 0
3843 질문
image
kmw_ 6일 전09:37 200 +1