내 스크립트에는 두 개의 매개변수가 필요합니다. 누군가가 다음을 사용하여 스크립트를 호출하면 오류 메시지를 숨기고 싶습니다.
script.sh --help
그래서 나는 이것에 지쳤습니다.
if [ $# -ne 2 ] ; then
if [ "$1" -ne "--help" ]; then
echo "ERROR: wrong number of parameters"
echo
fi
echo "Syntax: $0 foo bar
exit 1
fi
그런데 오류가 났어요
script.sh: line 10: [: --help: integer expression expected
뭐가 문제 야?
답변1
이 매개변수는 -ne
숫자에만 유효하며 !=
문자열 비교에 사용해야 합니다.
이것은 작동합니다:
if [ $# -ne 2 ] ; then
if [ "$1" != "--help" ]; then
echo "ERROR: wrong number of parameters"
echo
fi
echo "Syntax: $0 foo bar
exit 1
fi