需要脚本解决方案

需要脚本解决方案

我写了一个名为电话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 语句。

现在,您应该通过谷歌搜索来了解如何$?与进行比较0,并将其放入您的 if 语句中。$?不应该匹配0

那么你,你需要echo "Name 'xyz' not in directory"if $?is NOT 0。如何将 'xyz' 替换为$name?应该很明显吧?

这确实读起来像是某种作业……是的,我可以写一个完整的答案,但这对你没有帮助。

授人以鱼,可以养他一日;授人以鱼,可以养他一生。

相关内容