В настоящее время я пытаюсь создать команду сложения в 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"
Это, однако, не работает.
Не обращая внимания на синтаксические ошибки в скрипте, похоже, что эти два числа даны , т.е. они присутствуют в командной строке скрипта.
Это означает, что сценарий можно сократить до
#!/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