修改程序,以便如果找不到匹配的名稱,將顯示一條消息:「名稱'xyz'不在目錄中」。您可以使用'if'語句來檢查$的值嗎?看看grep命令是否成功(記住'0'表示成功)。如果grep不成功,則回顯消息(其中包含$ name的值)。LINUX的IF語句
原始代碼是:
#!/bin/bash
name=$1
if [ "$name" = "" ]
then echo -n "Enter a name to search for: "
read name
fi
grep -I $name ~uli101/2017a/phonebook
我基本上已經插入和IF語句轉換成使用上述說明的程序。我試過很多不同的東西,如:
if [ $? = 1 ]
then echo -n "Name 'xyz' not in directory"
fi
但它不接受答案。請幫我解決這個問題。任何幫助表示讚賞。
我也試過,但它說這是不正確的 –
問題:誰說這是不正確的? –
@KyleMathews我修改了答案,再試一次 –