shell 2

[Shell] JOIN 함수 구현 - 배열 요소를 구분 기호로 결합

개요최근 쉘 스크립트를 만들고 있는데, 배열의 요소를 구분 기호로 결합한 문자열을 만드는 join 함수가 필요해졌다.이 글에서는 구글링 해서 찾은 join 함수를 기록해 둔다. 스크립트join_ws() { local d=$1 s=$2; shift 2 && printf %s "$s${@/#/$d}"; } 사용법arr=("apple" "banana" "cherry")echo -e $(join_ws ',' "${arr[@]}")echo -e $(join_ws ' || ' "${arr[@]}")echo -e $(join_ws '\n' "${arr[@]}")실행시켜 보면 스크립트 대로 쉼표, 문자열, 줄 바꿈을 기준으로 잘 연결된 문자열을 확인할 수 있다. 동작 방식동작 방식을 분석하면 다음과 같다. 1...

Linux/Shell Script 2025.05.12

[Shell] 매개변수 배열 슬라이싱

개요쉘 스크립트를 하나 개발하고 있다. 실행 시 매개변수를 몇 가지 전달해야 하는데, 전달한 매개변수 배열의 슬라이싱이 필요하다.방법을 적어둔다. $@$@은 모든 매개변수를 접근하되, 별개의 구분된 문자열로 취급한다. 즉, 배열로 취급한다. (흔히 $@와 혼용되는 $*는 모든 매개변수를 공백으로 구분된 하나의 문자열로 취급한다.)때문에 배열 슬라이싱을 하기 위해서는 $@을 사용해야 한다. 슬라이싱쉘 스크립트에서 배열 슬라이싱 방법은 다음과 같다.${변수:인덱스:길이}인덱스와 길이는 음수를 허용하며, 음수를 사용하면 뒤에서부터의 인덱스에 해당한다. 아래는 케이스별 예시이다.$ string=01234567890abcdefgh$ echo ${string:7}7890abcdefgh$ echo ${string..

Linux/Shell Script 2025.05.09
1