加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 为什么要有“整数表达式”?

发布时间:2020-12-14 00:03:53 所属栏目:Linux 来源:网络整理
导读:为什么我有一个整数表达式预期错误: at=`echo $1 | grep -q "@"`if [ $at -ne 0 ]; then echo "blabla"else echo "bloblo"fi $at已设置,测试在脚本外正常工作 解决方法 在测试grep -q的结果时,你想测试$?不是grep的输出,它将是空的 at=$(echo "$1" | grep
为什么我有一个整数表达式预期错误:

at=`echo $1 | grep -q "@"`
if [ $at -ne 0 ]; then
    echo "blabla"
else
    echo "bloblo"
fi

$at已设置,测试在脚本外正常工作

解决方法

在测试grep -q的结果时,你想测试$?不是grep的输出,它将是空的

at=$(echo "$1" | grep -q "@")
if [ $? -ne 0 ]; then ...

或者干脆

if echo "$1" | grep -q "@"; then ...

或者,更多的打击

if grep -q "@" <<< "$1"; then ...

或者,不要调用grep:

if [[ "$1" == *@* ]]; then ...

要么

case "$1" in
  *@*) echo "match" ;;
  *) echo "no match" ;;
esac

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读