Chinaunix

标题: SHELL脚本中怎么判断输入参数为空? [打印本页]

作者: bfkkkd    时间: 2006-05-27 22:04
标题: SHELL脚本中怎么判断输入参数为空?
不是为空,是没有输入,例如$1
if [ $1 = "" ]不行
if [ !$1 ] 也不行
找不到相关资料.麻烦高手指点..
作者: 大蚂蚁    时间: 2006-05-27 22:05
$#
作者: bfkkkd    时间: 2006-05-27 22:15
晕,这么简单 ,感激不尽...
作者: bfkkkd    时间: 2006-05-27 22:19
还有一点,那我$1输入后,要判断$2为不为空呢?
作者: bfkkkd    时间: 2006-05-27 22:28
$#好像也不行...
作者: 大蚂蚁    时间: 2006-05-27 23:02

  1.     if [ $# -ge 1 ]; then
  2.        echo "error
  3.         return 1
  4.     fi
复制代码



  1.    if [ "-$2" = "-" ]; then
  2.         echo "\$2 is NULL   
  3. else
复制代码


符合要求不?
作者: bfkkkd    时间: 2006-05-27 23:13
明白了,$#是指个数啊...
"-$2" = "-" 这样也可以的啊.....学到了,非常感谢!
作者: 大蚂蚁    时间: 2006-05-27 23:23
13问中有讲,多看
作者: 寂寞烈火    时间: 2006-05-28 00:07
[[ -z $var ]]
作者: xxjoyjn    时间: 2006-05-28 10:34
原帖由 寂寞烈火 于 2006-5-28 00:07 发表
[[ -z $var ]]


为什么要两对[]号??
作者: 寂寞烈火    时间: 2006-05-28 11:11
原帖由 xxjoyjn 于 2006-5-28 10:34 发表


为什么要两对[]号??

http://bbs.chinaunix.net/viewthread.php?tid=278896&highlight=[[
作者: hawkli    时间: 2006-05-29 10:10
我觉得这篇贴子的标题改一下会吸引更多的人来参与。
改为“shell脚本中判断输入参数是否为空的N种方法”
作者: baif    时间: 2006-05-29 10:34
楼主不妨先多读读书。
作者: wnzh5    时间: 2012-01-31 17:14
if [ -n "$myvar" ] 判定是否为空
if [ -z "${myvar//[0-9]/}" ] 判定是否为数字




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2