나는 다음과 같이 파일에 bash 스크립트를 가지고 있는데 nepleaks_upd.sh
, 실행하고 싶다 ./nepleaks_upd.sh bootstrap --branch off
. 걸릴 수 --branch
는 없지만 작동하는 것은 ./nepleaks_upd.sh bootstrap -b off
입니다.
usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; }
case "$1" in
bootstrap)
while getopts ":b:" o; do
case "${o}" in
b)
b=${OPTARG}
if [ ${b} == "off" ]; then
echo "git clone https://github.com/iPrayag/dotfiles.git"
## logic
fi
;;
*)
echo ${o}
usage
;;
esac
done
shift $((OPTIND-1))
echo "option1 = ${o}"
echo "option2 = ${b}"
if [ -z "${b}" ]; then
usage
fi
;;
up)
echo "up"
##logic
;;
down)
echo "down"
##logic
;;
*)
echo "Usage: $0 {up | down} dev"
exit 1
;;
esac
먼저 없으면 case .. in .... esac
잘 작동합니다. 을 사용하면 case ... in ... esac
에 대한 빈 옵션이 제공됩니다 -b
.
$ ./nepleaks_upd.sh bootstrap -b off
option1 = ?
option2 =
Usage: ./nepleaks_upd.sh [bootstrap | up | down] [-b <on/off>]
@unxnut 그것은 같은 노래를 부릅니다
—
prayagupd
“먼저
—
Scott
case .. in .... esac
잘 작동합니다”는 무슨 뜻 입니까? 5-25 행이 ./nepleaks_upd.sh -b off
올바르게 구문 분석되었음을 의미 합니까? 어쩌면 당신이 필요 shift
하므로 getopts
" bootstrap
" 에 질식하지 마십시오 .
@Scott 네, 정확히 그 부분은 잘 작동합니다.
—
prayagupd
$1
됩니까?