linux - 以下 unix 代码的输出是什么?
问题描述
a=x b=x
If [ $a -eq $b ]
Then
echo "a is equal to b"
else
echo "a is not equal to b"
fi
上面的代码会成功输出“a is equal to b”还是有一些错误?
解决方案
-eq
用于整数比较,但您正在比较字符串。使用=
(或bash
-ism ==
):
[ "$a" = "$b" ]
像我一样,引用变量扩展以防止分词和路径名扩展。
推荐阅读
- python - 使用 python 3 进行多处理:当我的子进程完成时,它会杀死另一个进程
- python - 抓取 Youtube 频道最后一天的视频 - bs4
- html - CSS 类似乎不存在
- javascript - 为 useState() 钩子字符串化对象以避免重新渲染是一种好习惯吗
- jpa - Crieria API 查询使用具有不存在关系的条件生成器.construct
- .net-core - 全局查询过滤器 - 这是如何工作的?
- android - 通过 Android Media Store 将图像存储在新文件夹中
- python - 形状不匹配、2D 输入和 2D 标签
- python - 如何检查此 CheckButton 的状态?
- python - 当一个是多级索引而另一个不是时,如何对具有不同形状的两个数据框的值求和