【发布时间】:2020-10-18 14:41:04
【问题描述】:
美好的一天。
我想用 linux 和 bash 自动化某些过程。我陷入了一个 IF 语句。
这是代码:
#!/bin/bash
result=$(
sqlplus -s /nolog << EOF
CONNECT admin/password@server;
whenever sqlerror exit sql.sqlcode;
set echo off
set heading off
@processQuery.sql
exit;
EOF
)
echo $result
if [ "$result" != "no rows selected" ]
then echo "Please, clean up"
else echo "All Ok"
fi
输出是:
no rows selected
Please, clean up
非常感谢您的帮助。
更新:添加
result2=${result:1}
和
if [ "$result2" != "no rows selected" ]
非常感谢您,特别感谢 @mercury0114 的回答!
【问题讨论】:
-
你的问题是什么?
-
字符串末尾不包含空格吗?
-
echo ${result@Q}看起来像什么? (使用bash,应该显示result中是否有额外的字符) -
@noam 我的问题是为什么我没有得到预期的结果。
-
@Yuji 当我尝试
echo "."$result"."我得到. no rows selected.但是当我把它放在 IF 语句中返回相同的错误结果。
标签: bash if-statement sh heredoc