linux - Bash 脚本使用 if 条件产生错误

标签 linux bash

我在 bash 脚本中遇到 if 问题。我已经编写了以下 if 条件,但它会产生错误:

if [[ "$capacity" != *10 && "$capacity" != *20  ]] || [[ "$capacity" != *80 && "$capacity" != *100 ]]; then

简单来说,我想比较(两个值不等于)|| (两个值不等于)条件使用或运算符

最佳答案

我接受了你的线路并添加了足够多的额外线路使其成为 Minimal, Complete, and Verifiable example :

#!/bin/bash
capacity=55

if [[ "$capacity" != *10 && "$capacity" != *20  ]] || [[ "$capacity" != *80 && "$capacity" != *100 ]]; then
  echo "match"
fi

然后我这样运行它:

$ chmod +x ./myscript
$ ./myscript
match

它写的是“match”,完全符合我的预期。

请你做同样的事情好吗?

  1. 添加足够多的行以便我可以在我的机器上运行你的代码
  2. 展示你如何运行它以及它输出什么
  3. 解释为什么这与您的预期不同

关于linux - Bash 脚本使用 if 条件产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531927/

相关文章:

c++ - 丢包只发生在第一次运行

linux - 比较连续行的前 5 个字符 - shell 脚本

c - 内存映射内核空间的解剖结构

linux - 如何在不对脚本 1 进行任何更改的情况下从脚本 1 调用脚本 2 及其 2 个参数?

linux - 归档旧目录并删除它们

Bash 脚本使用 FreeTDS 建立连接,交互,不退出(只是挂起)

linux - GTK+ linux 运行时库新手

linux - 自定义 zsh 自动完成

linux - nvcc 从命令行而不是从 shell 运行

bash - 如何防止后台命令立即挂起