쉘 스크립트에서 전달된 매개변수를 어떻게 사용합니까?

쉘 스크립트에서 전달된 매개변수를 어떻게 사용합니까?

저는 쉘 스크립팅에 대해 아는 바가 거의 없지만 뭔가 복잡한 것을 구현해 보고 싶습니다.

다음 내용이 포함된 doitall.sh가 있다고 가정해 보겠습니다.

zip -j version_a_en.zip en_filea1.txt en_fileb2.json

내용이 다음과 같은 doitall2.sh도 있습니다.

zip -j version_b_en.zip en_fileb1.txt en_fileb2.json

하나의 스크립트만 사용하여 유사한 요구 사항을 모두 처리할 수 있도록 "a" 및 "en"을 매개 변수로 사용하려면 어떻게 해야 합니까? 좋다

./doitall.sh a en

또는

./doitall.sh b fr

답변1

aen명령줄 매개변수는 $1및 다음을 사용하여 쉘 스크립트에서 액세스할 수 있습니다 $2.

#! /bin/bash
zip -j version_"$1"_"$2".zip "$2"_filea1.txt "$2"_fileb2.json

텍스트에서 뒤에 숫자가 있을 때는 주의해야 합니다. 그래서 저는 항상 큰따옴표로 묶는 경향이 있지만 이 경우에는 생략할 수 있습니다.

관련 정보