如何比较包含尖括号的字符串'<';在bash?
以下bash脚本给我带来了问题:如何比较包含尖括号的字符串'<';在bash?,bash,Bash,以下bash脚本给我带来了问题: #!/bin/bash if [[ $VAR -eq "<EMPTY>" ]]; then echo "Hello World!"; fi #/bin/bash 如果[$VAR-eq”“];然后回应“你好,世界!”;fi Bash失败,抱怨: line 3: [[: <EMPTY>: syntax error: operand expected (error token is "<EMPTY>") 第3行:[[::语法
#!/bin/bash
if [[ $VAR -eq "<EMPTY>" ]]; then echo "Hello World!"; fi
#/bin/bash
如果[$VAR-eq”“];然后回应“你好,世界!”;fi
Bash失败,抱怨:
line 3: [[: <EMPTY>: syntax error: operand expected (error token is "<EMPTY>")
第3行:[[::语法错误:应为操作数(错误标记为“”)
如何测试
VAR
中包含的字符串是否等效于“
?内部[…]]
,-eq
具有不同的含义:它用于比较整数。不过,您可以使用(…)
将整数与普通运算符进行比较。对字符串使用以下方法:
[[ $VAR == "<EMPTY>" ]]
[[$VAR==”“]]
在[…]
内部,-eq
有不同的含义:它用于比较整数。不过,您可以使用(…)
将整数与普通运算符进行比较。字符串使用以下内容:
[[ $VAR == "<EMPTY>" ]]
[[$VAR==”“]]
您使用了错误的运算符。=
用于字符串,-eq
用于数字
#!/bin/bash
if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
!/bin/bash
如果[[$VAR==”“]];则回显“Hello World!”;fi
您使用了错误的运算符。=
用于字符串,-eq
用于数字
#!/bin/bash
if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
!/bin/bash
如果[[$VAR==”“]];则回显“Hello World!”;fi
在[[
中,您不必引用不存在的变量。在[[
中,您不必引用不存在的变量。-eq
在[…]
中仍然有意义。它意味着“如果arg1等于arg2,则返回true,”根据bash手册页,它的操作数必须是整数。-eq
在[…]]
中仍然有意义。根据bash手册页,它意味着“如果arg1等于arg2,则返回true”。它的操作数必须是整数。