gpt4 book ai didi

linux - Unix 和 Linux 环境中的 if 条件

转载 作者:太空宇宙 更新时间:2023-11-04 05:49:54 25 4
gpt4 key购买 nike

我正在尝试运行相同的代码,该代码在 Unix 中运行良好,但在 Linux 中则不行。
示例代码:
如果[“$1”-eq“”]然后 echo "未传递参数!请传递要排队的行数。" 1号导出菲echo "参数为$1";

在 Linux 环境中
当我运行 sh/tmp/script.sh 时,它会抛出错误/tmp/script.sh: 第 1 行: [: : 需要整数表达式参数为
当我运行 sh/tmp/script.sh 100 时出现错误/tmp/script.sh: 第 1 行: [: : 需要整数表达式参数为100

在unix环境下
当我运行 sh/tmp/script.sh 时,它说没有传递参数!请传递要排队的行数。
当我运行 sh/tmp/script.sh 100 时,它显示参数为 100。
当我运行 sh/tmp/script.sh ABCD 时,它说没有传递参数!请传递要排队的行数。

谁能解释一下为什么它的行为不同?我认为这些功能不应该依赖于环境。

最佳答案

-eq 进行数字比较。您需要 = (单个等号)进行字符串比较。看看arithmetic expressions了解更多信息。

关于linux - Unix 和 Linux 环境中的 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44150849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com