我目前正在尝试在 unix 中创建一个加法命令,并提出了以下代码:
#! /bin/bash
#! Add - adds two given numbers together and displays the result
"$num1" = $1
"$num2" = $2
echo "Enter two numbers"
read num1 num2
sum=$(“$num1” + “$num2”)
echo "The sum is = $sum"
然而这不起作用。
答案1
((...))
是进行算术运算的方法,而不是单括号,并且您不需要在那里引号尝试:
sum=$((num1+num2))
答案2
忽略脚本中的语法错误,看起来这两个数字是给定,即它们出现在脚本的命令行上。
这意味着脚本可以简化为
#!/bin/sh
printf 'The sum of %d and %d is %d\n' "$1" "$2" "$(( $1 + $2 ))"
这显然没有对传递的参数进行任何验证。例如,它不验证是否存在确切的二参数,并且它也不验证它们是否是十进制整数。
该脚本将用作
$ ./script.sh -23 32
The sum of -23 and 32 is 9