Điều này rất tốt có thể là ngu ngốc về phía tôi. Tôi muốn chấp nhận câu trả lời Có / Không, Đúng / Sai trong tập lệnh Bash của tôi:
kiểm tra
#!/bin/bash
ARGUMENT=$1
echo User passed in $ARGUMENT
OPTARG=${ARGUMENT:0:1}
if [[ "$OPTARG" -eq 0 ]] || [[ "${OPTARG^^}" == "N" ]]; then
echo Decline
elif [[ "$OPTARG" -eq 1 ]] || [[ "${OPTARG^^}" == "Y" ]]; then
echo Accept
else
echo Invalid argument
fi
Dưới đây là một số kết quả mẫu:
./test.sh 0
User passed in 0
Decline
./test.sh 1
User passed in 1
Accept
./test.sh 2
User passed in 2
Invalid argument
./test.sh Không
User passed in No
Decline
Bây giờ là người ném đá. Tại sao [[ "${OPTARG^^}" == "N" ]]
trả về đúng cho bất kỳ chuỗi nào!?
./test.sh Có
User passed in Yes
Decline
./test.sh ThisShouldNotMatch
User passed in ThisShouldNotMatch
Decline