【发布时间】:2016-08-01 04:28:16
【问题描述】:
我有一个字符串和一个命令结果,所以我想比较它们:
A="Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination"
B=$(iptables -L)
if [ "$A" == "$B"]; then
echo "True"
else
echo "False"
fi
但它返回False。
【问题讨论】:
-
不..这真的不行..
-
右括号前需要一个空格,如下所示:
if [ "$A" == "$B" ]; then。此外,出于兼容性原因,最好使用 single equal。喜欢if [ "$A" = "$B" ]; then。 -
有没有人知道一个好的规范副本?这是一个很常见的问题。
-
@JonathanLeffler 我们已尝试在
bashtag wiki 中编制一份常见的 Bash 问题列表。它仍然需要改进,但我认为您正在寻找的典型骗子是stackoverflow.com/questions/9581064/… -
@tripleee:看来语法错误只是问题的一部分,所以我不会把他当作骗子来关闭。但是感谢您提供有关常见 Bash 问题列表的信息。
标签: string bash variables if-statement