我目前正在做一项作业,其中我有一个脚本,基本上只是学习使用带有不同正则表达式的 grep 。
我编写了脚本,除了第一部分,其中要求我将文件作为输入,然后脚本基于该文件运行。
我有输入提示,之后是读取命令,grep 命令。一切正常,我只需要实现一个 if 语句,我相信如果只给定 1 个参数,它将运行脚本。 - 分配表明脚本仅应在给出 1 个且仅 1 个参数的情况下运行,否则应显示错误消息。
谢谢,
答案1
一个脚本内$#
会扩展位置参数的数量。我们可以用它来检查是否传递了正确数量的选项,如果不正确则立即退出:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!\n' >&2
exit 1
fi
您可以在以下地方阅读相关内容: