나는 다음과 같은 파일을 썼다.전화 4이와 같이:
# #!/bin/bash
name=$1
if ["$name" = ""]
then echo -n "Enter a name to search for: "
read name
fi
grep -i $name ~uli101/2017c/phonebook
하지만 이제 스크립트를 일부 변경하여 명령을 사용하고 싶습니다.전화 4xyz일치하는 이름이 없으면 "'xyz' 이름이 디렉터리에 없습니다."라는 적절한 메시지가 표시됩니다.
$?의 값을 확인하기 위해 "if" 문을 사용하고 싶습니다. grep 명령이 성공했는지 확인하십시오("0"은 성공을 의미함). grep이 실패하면 메시지($name 값 포함)가 에코됩니다.
이것이 명령줄 인수와 사용자로부터 읽은 이름 모두에 대해 작동하는지 확인하고 정확히 "'xyz' 이름이 디렉토리에 없습니다"라는 메시지가 필요합니다. 누구든지 이 문제를 해결하도록 도와줄 수 있나요?
답변1
기본적으로 if 문을 작성하는 방법을 알고 있으면 스크립트에 if 문이 있습니다.
$?
이제 Google 검색을 통해 이를 비교 0
하고 if 문에 넣는 방법을 알아보세요 . $?
일치하지 않아야 합니다 0
.
그렇다면 is NOT echo "Name 'xyz' not in directory"
이 필요합니다 . 'xyz'를 어떻게 바꾸나요 ? 분명해야겠죠?$?
0
$name
이것은 일종의 숙제처럼 읽힙니다... 예, 완전한 답을 쓸 수는 있지만 그것은 당신에게 도움이 되지 않을 것입니다.
사람에게 물고기를 주면 하루 동안 먹을 수 있고, 물고기를 가르쳐 주면 평생 동안 먹일 수 있습니다.