읽기 명령: 사용자가 무언가를 입력했는지 확인하는 방법

읽기 명령: 사용자가 무언가를 입력했는지 확인하는 방법

사용자가 무언가를 입력했는지 확인하기 위해 if else 문을 만들려고 합니다. 가지고 있으면 명령을 실행해야 하고, 그렇지 않으면 도움말 문을 에코하고 싶습니다.

답변1

(아주 간단한) 예는 다음과 같습니다. 다음 코드를 포함하는 userinput이라는 파일이 생성됩니다.

#!/bin/bash

# create a variable to hold the input
read -p "Please enter something: " userInput

# Check if string is empty using -z. For more 'help test'    
if [[ -z "$userInput" ]]; then
   printf '%s\n' "No input entered"
   exit 1
else
   # If userInput is not empty show what the user typed in and run ls -l
   printf "You entered %s " "$userInput"
   ls -l
fi

Bash 학습을 시작하려면 다음 링크를 확인하는 것이 좋습니다.http://mywiki.wooledge.org/

답변2

사용자가 특정 문자열을 입력했는지 알고 싶다면 다음이 도움이 될 수 있습니다.

#!/bin/bash

while [[ $string != 'string' ]] || [[ $string == '' ]] # While string is different or empty...
do
    read -p "Enter string: " string # Ask the user to enter a string
    echo "Enter a valid string" # Ask the user to enter a valid string
done 
    command 1 # If the string is the correct one, execute the commands
    command 2
    command 3
    ...
    ...

답변3

다중 선택이 유효한 경우 일치하도록 while 조건을 만듭니다.정규식:

예를 들어:

#!/bin/bash

while ! [[ "$image" =~ ^(rhel74|rhel75|cirros35)$ ]] 
do
  echo "Which image do you want to use: rhel74 / rhel75 / cirros35 ?"
  read -r image
done 

세 가지 옵션 중 하나가 입력될 때까지 계속 입력을 요청합니다.

관련 정보