누군가 내가 뭘 잘못하고 있는지/이 쉘 스크립트를 수정하는 방법을 말해 줄 수 있습니까?

누군가 내가 뭘 잘못하고 있는지/이 쉘 스크립트를 수정하는 방법을 말해 줄 수 있습니까?

내가 달성하고 싶은 것은 이름이 "Instructor"이면 "Good Afternoon, Instructor"라고 응답하고 다른 이름이면 "Good Evening, 'name'"이라고 응답하고 결과를 file.txt 파일로 보내는 것입니다. .

#!/bin/bash

read -p "what's your name?"

if [ "$name" = "Instructor" ]
then 
    echo "Good Afternoon, Instructor"
else
    echo "good Evening, "$name" >> file.txt
fi

답변1

사용자로부터 이름을 읽는 대신 name및 then NAME(두 개의 다른 변수)을 사용합니다. 또한 $nameif 문에는 큰따옴표를 사용해야 합니다.

사용자의 입력을 변수로 읽으려면 다음을 name사용하십시오 read.

read name

원하는 경우 다음을 사용하여 사용자 정의 프롬프트를 표시 bash할 수도 있습니다 .read

echo 'Hello!'
read -p "What's your name? > " name

만약 너라면아니요read변수 이름이 주어지면 텍스트는 REPLY기본적으로 호출되는 변수에 들어갑니다.

관련 정보