現在、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
スクリプトの構文エラーを無視すると、2つの数字が次のように見えます。与えられたつまり、スクリプトのコマンドラインに表示されます。
これは、スクリプトを次のように単純化できることを意味します。
#!/bin/sh
printf 'The sum of %d and %d is %d\n' "$1" "$2" "$(( $1 + $2 ))"
これは明らかに渡されたパラメータに対して検証を行いません。たとえば、正確な内容を確認しません。二つパラメータであり、10進整数であることも確認しません。
このスクリプトは次のように使用されます。
$ ./script.sh -23 32
The sum of -23 and 32 is 9