Unix bash脚本编写和使用test-z脚本

Unix bash脚本编写和使用test-z脚本,unix,if-statement,scripting,sh,Unix,If Statement,Scripting,Sh,因此,我用以下代码编写了一个名为MYSCRIPT的脚本: if test -z $1 ; then echo "rm: missing operand" echo "'try rm --help'" for more information. fi 根据我的理解,它的意思是:“如果$1参数不存在,那么echo:“rm:缺少操作数” 但是,如果键入“sh MYSCRIPT-i”,那么它仍然会重复此操作。当然$1参数现在等于某个值(它是-i),因此它应该运行?这是一种方法,但可能不是检查给

因此,我用以下代码编写了一个名为MYSCRIPT的脚本:

if test -z $1 ; then
  echo "rm: missing operand"
  echo "'try rm --help'" for more information.
fi
根据我的理解,它的意思是:“如果$1参数不存在,那么echo:“rm:缺少操作数”


但是,如果键入“sh MYSCRIPT-i”,那么它仍然会重复此操作。当然$1参数现在等于某个值(它是-i),因此它应该运行?

这是一种方法,但可能不是检查给定参数是否为空的最佳方法

我建议您使用这样的方法,计算给定参数的数量:

#!/bin/bash

[ $# -eq 0 ] && echo "no arguments given" && exit

echo "$1 is the input"
试验
$ ./test
no arguments given
$ ./test a
a is the input