我的sh脚本语法有问题。我为我的华硕路由器写了一个脚本。该脚本完美运行。但我有这条线:
if [[ "$OldIP" && "$StartIP" != "$OldIP" ]]; then echo OK; fi
Run Code Online (Sandbox Code Playgroud)
echo OK只有当$StartIP和$OldIP不相同时,它才应该是真的(和执行)。这条线有效,但我希望看到它更有效地完成。变量包含有效的 IP 地址。
在某些情况下,$OldIP不会分配任何东西(未初始化)。但是,如果$OldIP不存在,这意味着它们在我的外壳中不一样!
我不希望该行执行: if$OldIP不存在 -> 测试它们是否不同 -> run echo OK。
我确实希望该行表示:a) 如果$OldIP不存在 -> 结束。加 b) 如果$OldIP存在 -> 测试它们是否不同 -> 运行echo OK。
所以,"$OLDIP" &&如果可能的话,我想以某种方式删除 。不是真正的问题;好奇学习:)
排序(但它不起作用):
if [ [ "$OldIP" ] != "$StartIP" ]; then echo OK; fi
Run Code Online (Sandbox Code Playgroud)
或者
if [ $OldIP != …Run Code Online (Sandbox Code Playgroud)