Programing

Bash, 인수 없음 경고 및 케이스 결정

lottogame 2020. 8. 28. 07:48
반응형

Bash, 인수 없음 경고 및 케이스 결정


나는 배쉬를 배우고있다.

인수가 주어지지 않을 때 몇 가지 메시지를 보여주는 간단한 스크립트를 작성하고 싶습니다. 그리고 내가 numers를 인수로 주면 값에 따라 하나 또는 다른 일을합니다.

Bash 초보자를위한 최고의 온라인 매뉴얼에 대한 제안도 알고 싶습니다.

감사


if [[ $# -eq 0 ]] ; then
    echo 'some message'
    exit 0
fi

case "$1" in
    1) echo 'you gave 1' ;;
    *) echo 'you gave something else' ;;
esac

고급 Bash 스크립팅 가이드는 아주 좋은 것입니다. 이름에도 불구하고 기본을 다룹니다.


특정 인수가 누락 된 경우에만 보석금에 관심이 있다면 매개 변수 대체 가 좋습니다.

#!/bin/bash
# usage-message.sh

: ${1?"Usage: $0 ARGUMENT"}
#  Script exits here if command-line parameter absent,
#+ with following error message.
#    usage-message.sh: 1: Usage: usage-message.sh ARGUMENT

 if [ -z "$*" ]; then echo "No args"; fi

결과

No args

세부

-z 는 문자열 길이가 0 인 단항 연산자입니다. $*모든 인수입니다. 따옴표는 안전을위한 것이며 여러 인수가있는 경우 캡슐화합니다.

이와 같은 더 많은 연산자를 사용하려면 "단항"을 사용 man bash하고 검색 ( / 키)하십시오.


오래되었지만 이전의 혼란 덕분에 답을 다시 작업해야 할 이유가 있습니다.

if [[ $1 == "" ]] #Where "$1" is the positional argument you want to validate 

 then
 echo "something"
 exit 0

fi

위치 인수 $ 1이 없으면 "Something"이 표시됩니다. 그러나 $ 1에 특정 정보가 포함되어 있는지 확인하지는 않습니다.

참고 URL : https://stackoverflow.com/questions/2427995/bash-no-arguments-warning-and-case-decisions

반응형