반응형
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
반응형
'programing' 카테고리의 다른 글
| 시뮬레이터 오류 FBSSystemServiceDomain 코드 4 (0) | 2023.04.11 |
|---|---|
| 자동 커밋 없이 Git 병합 (0) | 2023.04.11 |
| 메타데이터 파일 '.dll'을 찾을 수 없습니다. (0) | 2023.04.11 |
| Excel 시트에서 VBA 함수를 호출하는 셀 주소를 얻는 방법 (0) | 2023.04.11 |
| Excel VBA에서의 함수 오버로드 및 UDF (0) | 2023.04.11 |