【发布时间】:2011-06-26 00:43:00
【问题描述】:
我尝试了以下脚本
#!/bin/bash
var1="Test 1"
var2="Test 2"
if [ "$var1"="$var2" ]
then
echo "Equal"
else
echo "Not equal"
fi
它给了我Equal。虽然它应该打印Not equal
只有当我在 = 周围插入空格时,它才能按预期工作
if [ "$var1" = "$var2" ]
并打印Not equal
为什么会这样?为什么"$var1"="$var2" 和"$var1" = "$var2" 不一样?
而且,当我写if [ "$var1"= "$var2" ]时,它给了
line 4: [: Test 1=: unary operator expected
这是什么意思?它的期望一元运算符是怎么来的?
【问题讨论】:
标签: bash shell syntax scripting