我有一个变量(这是一个字符串),它可以有两个值: (1)variable = null (2)variable =“some string value”。
现在我必须应用如下条件:
if(变量等于null)然后 执行第1步 否则执行第2步。
此脚本将在jenkins中运行,变量的实际值将在jenkins的脚本中替换。
但我的变量只有两个值为null或一些字符串“value”...但是当脚本运行时它会替换值,所以当变量被替换时,它也将null视为一个字符串...所以当我使用-n时它只执行if部分.....例如... if [-n variable -ge 1] ..所以当脚本运行时...它会被替换为这样.. [if -n null -ge 1]和它返回true..which它不应该......如何解决这个问题
我们如何在shell脚本中检查它?
答案 0 :(得分:1)
使用unix测试来检查字符串是否为空。
[ -z $var ] && echo empty || echo non empty # -z returns true on empty string
[ -n $var ] && echo non empty || echo empty # -n returns true on non empty string.
在link或任何其他更好的网站上查找有关测试命令的模式详细信息。希望这会有所帮助。