Shell脚本输入

时间:2011-08-03 00:36:11

标签: unix shell

#!/bin/sh 

if test -n $1  
then  
  echo "Some input entered"  
  echo $1  
else  
  echo "no input entered"  
fi

如果我没有将参数传递给shell脚本,上面的代码应该说“没有输入”。当我不传递任何参数时,echo $ 1显示一个空行。 即使没有任何争论,它也说“输入了一些信息”。

2 个答案:

答案 0 :(得分:5)

$1周围加上引号。没有它们,1美元就会消失,test容易混淆地报告“没有”不是空的。

if test -n "$1" 
then
    ....

答案 1 :(得分:1)

跳过test并在$1附近加上引号:

#!/bin/sh 

if [ -n "$1" ]
then  
  echo "Some input entered"  
  echo $1  
else  
  echo "no input entered"  
fi