버전 태그 매개변수(예: v1.3)를 bash 스크립트 파일에 전달하고 싶습니다. 태그 매개변수가 포함된 파일을 보여드리겠습니다. ${tag}
터미널에서 v1.3 매개변수를 전달하고 싶습니다 . 이 태그 값은 자주 변경됩니다. 누구든지 다음 bash 스크립트 파일에 매개 변수를 전달하는 방법을 말해 줄 수 있습니까?
#!/bin/bash
cd /path/to/file
git checkout -- .
git checkout tags/${tag}
답변1
소위 "위치 매개변수" $1
등을 사용할 수 있습니다 $2
.
예를 들어
#!/bin/bash
cd /path/to/file
git checkout -- .
git checkout tags/"$1"
myscript tag
이제 or myscript anothertag
또는 을 수행할 수 myscript test
있으며 의 값은 $1
입력한 값이 됩니다.
답변2
한 줄을 추가하면 스크립트가 원하는 대로 작동할 수 있습니다.
#!/bin/bash
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/${tag}
그러면 스크립트의 첫 번째 명령줄 인수를 가져와서 변수에 할당합니다 tag
.
값에 공백을 허용하려면 $tag
변수 확장을 큰따옴표로 묶으십시오.
#!/bin/bash
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
성공 시에만 git
작업을 수행 하려면 cd
각 명령을 이전 명령의 성공적인 완료에 종속되게 만듭니다.
#!/bin/bash
tag=$1
cd /path/to/file &&
git checkout -- . &&
git checkout tags/"$tag"
또는 명령 중 하나가 실패하면 스크립트가 자동으로 종료되도록 합니다.
#!/bin/bash -e
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
이 스크립트는 특정한 것을 사용하지 않으므로 bash
다음 환경에서 쉽게 실행할 수 있습니다 /bin/sh
.
#!/bin/sh -e
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
답변3
위치 매개변수를 사용하여 스크립트에 매개변수를 전달할 수 있습니다.
#!/bin/bash
cd /path/to/file
TAG=$1 # read the first paramater passed to your script like ./myscript v1.2
if [ "$TAG" != "" ]; then
git checkout -- .
git checkout tags/"$TAG"
else
echo "Please enter a Tag "
exit 1 ;
fi
또한 대화형 모드를 사용하여 사용자가 스크립트에 .
#!/bin/bash
read -p "Please enter tag: " TAG
cd /path/to/file
if [ -n "$TAG" ]; then
git checkout -- .
git checkout tags/"$TAG"
else
echo "Please run again and enter a Tag "
exit 1 ;
fi