programing

Bash, no-arguments 경고 및 케이스 결정

mbctv 2023. 4. 11. 22:27
반응형

Bash, no-arguments 경고 및 케이스 결정

배쉬를 배우고 있어요.

저는 간단한 스크립트를 만들고 싶습니다.인수가 주어지지 않았을 때 메시지를 표시합니다.값에 따라 숫자를 인수로 지정하면 이런저런 작업이 이루어집니다.

또한 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

Advanced Bash-Scripting Guide는 꽤 좋습니다.이름에도 불구하고 기본을 다룹니다.

특정 인수가 존재하지 않는 경우에만 Billing에 관심이 있는 경우 Parameter Substitution은 다음과 같습니다.

#!/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에 특정 정보가 포함되어 있는지 검증하지 않습니다.

인수가 1개뿐만이 아닌 경우는, 사용 상황을 인쇄해 종료합니다.

if [[ $# != 1 ]] ; then
  echo 'USAGE: bin/siege COOKIE'
  exit 0
fi

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

반응형