기본 콘텐츠로 건너뛰기

Bash 에서 줄 단위로 배열에 대입

Bash에서 여러 줄 데이터를 배열로 대입할 때마다 구글에 물어봤는데, 다시 찾기 귀찮아서 정리...

Bash 4.x 이상

# mapfile과 readarray는 정확히 동일한 명령이며, readarray는 mapfile은 별칭(alias)이다.

mapfile -t lines <<< ${multiline}

# 중간에 띄어 쓰기가 있을 경우, 아래와 같은 형태를 사용한다.
mapfile -t files < <(find . -type f)
for file in "${files[@]}"; do
  echo "${file}"
done

Bash 3.x 이하

IFS=$'\n' read -d '' -r -a lines <<< ${multilines}

댓글

이 블로그의 인기 게시물

설치한 패키지에서 RPM 추출하기

오래된 패키지를 관리할 저장소가 없어졌고, 기존 패키지로 다른 서버를 세팅해야할 일이 생겼다면 RPM의 리패키지 기능을 이용해보자. $ rpm -e --repackage [PACKAGE_NAME] 위와 같이 리패키지하면, /var/spool/repackage/ 에 생성한 RPM파일이 있다. :-)

Winget 해시 무시하기

가끔씩 Winget 에서 패키지를 다운로드 했을 때, "설치 관리자 해시가 일치하지 않습니다." 오류가 뜰 때가 있다. 보안 이슈가 있지만, 그냥 무시하고 싶을 때, 아래 순서로 무시해준다. 관리자 권한 winget settings --enable InstallerHashOverride 설치 winget install --ignore-security-hash --id NirSoft.NirCmd