bash中的算术计算

时间:2017-06-14 01:48:13

标签: bash shell

我是bash脚本的初学者。当我在测试自己时,我遇到了这个问题。 获取用户输入的整数,乘以5,然后打印结果是否大于14。 我的脚本有点围绕这个

>>> from datetime import datetime
>>> t = datetime.strptime("2012-11-01T04:16:13-0400", "%Y-%m-%dT%H:%M:%S%z")
>>> print(t)
2012-11-01 04:16:13-04:00

我可以得到一些帮助吗?

2 个答案:

答案 0 :(得分:0)

我在这看到一些问题。 $b突然来自哪里? 什么是a和b?为什么echo语句谈论a& b

您还有一些明显的语法错误,如果您运行该脚本,您将看到它。

试试这个:

#!/bin/bash
echo "Enter an Integer"
read input
echo "You entered: $input"
num1=$((input*5))
echo "$input multiplied by 5 is $num1" 
num2=14
if [ $num1 -gt  $num2 ];
then 
        echo "$input multiplied by 5 is greater than 14"
    else
        echo "$input multiplied by 5 is NOT greater than 14"
fi

答案 1 :(得分:0)

(())是用于所有算术运算的括号,包括测试,所以你可以这样做:

#!/bin/bash

read -p "Enter an integer: " input

echo "You entered: $input"

(( num1 = input * 5 ))

echo "$input multiplied by 5 is $num1"

num2=14

if (( num1 > num2 ))
then
  echo "$input multiplied by 5 is greater than 14"
else
  echo "$input multiplied by 5 is NOT greater than 14"
fi