我在if语句的!=部分遇到了一些问题。基本上这个语句就我所知是有效的,但执行它会给[: 1: !=: unexpected operator
。我尝试使用-n执行但是无论出于何种原因,即使输出为空,使用-n仍然运行echo命令。
对此有任何帮助表示赞赏。我已经附上了下面的代码段。
#!/bin/sh
HOST=$1
USER="/scripts/whoowns $HOST | tr -d '\r'"
ssh -t $HOST -p 22 -l deehem "sh -c 'if [ "" != "\`$USER\`" ]; then echo "Username for $HOST: \`$USER\`"; fi' ; bash -login"
答案 0 :(得分:0)
如您所知,"bla "" bla"
只是连接两个字符串("bla bla"
)。
您可以转义"
:\"
,但标准的[
test
工具有专门用于此任务的选项:
-n STRING
the length of STRING is nonzero
-z STRING
the length of STRING is zero
注意:为什么你有?这样字符串永远不会是空的....