#!/bin/bash
echo "Int. a number"
read num1
echo "Int. another numer"
read num2
if ["$num1"="$num2"]; then
echo "Equals"
else
echo "Dif"
fi
if["$num1"<0]; then
echo "The number $num1 is negative"
else if ["$num2"<0]; then
echo "The number $num2 is negative"
fi
#
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用,当我看到数字是否小于 0 时,我出了点问题。
谢谢
错误的语法。请阅读有关[命令 ( help [/ help test)的文档
每个参数必须是它自己的参数,即您必须在它们之间使用空格:[ "$num1" == "$num2" ]。第一次检查没有看到错误的原因是它试图找到一个名为 (with num1=3 and num2=4) 的命令[3==4],该命令不存在,因此表达式的计算结果为 false。在第一次检查时,您编写了一个<,它是用于输入重定向的 shell 运算符。它尝试打开4]在大多数情况下不存在的文件。
但是在比较数字时,您应该使用-eq和类似的,==用于字符串比较:[ 3 == 3.0 ]为假,[ 3 -eq 3.0 ]为真。
| 归档时间: |
|
| 查看次数: |
1279 次 |
| 最近记录: |