#!/bin/sh
if test -n $1
then
echo "Some input entered"
echo $1
else
echo "no input entered"
fi
Run Code Online (Sandbox Code Playgroud)
如果我没有将参数传递给shell脚本,上面的代码应该说"没有输入".当我不传递任何参数时,echo $ 1显示一个空行.即使没有任何争论,它也说"输入了一些信息".
把报价放在你的周围$1.如果没有它们,1美元就会消失,并且test容易混淆地报告"没有"不是空的.
if test -n "$1"
then
....
Run Code Online (Sandbox Code Playgroud)