Ваш сценарий:
#!/bin/bash
if [ $# != 2 ]; then
echo "2 arguments are required "
exit
else
x=$1
y=$2
sum = $x + $y
echo ` sum = $sum | bc `
fi
[... -ne ...]
. =
. Помня об этом, ваш код становится
#!/bin/sh
if [ "$#" -ne 2 ]; then
echo >&2 'Expected two arguments'
exit 1
fi
printf 'sum = %f\n' "$( printf '%f + %f\n' "$1" "$2" | bc )"
. Альтернативно, с парой расширений bash
:
#!/bin/bash
if (( $# != 2 )); then
echo >&2 'Expected two arguments'
exit 1
fi
printf 'sum = %f\n' "$( bc <<<"$1 + $2" )"
С промежуточными переменными:
#!/bin/bash
if (( $# != 2 )); then
echo >&2 'Expected two arguments'
exit 1
fi
x="$1"
y="$2"
sum="$( bc <<<"$x + $y" )"
printf 'sum = %f\n' "$sum"
Измените форматирование printf
строка в соответствии с вашими потребностями. Если вам, например, требуется два десятичных знака, используйте %. 2f
вместо % f
.
seq 50000 |
parallel -P 10 curl -r 0-50000 -L '"http://domain.com/teste.php?a=2&b=3&name="'{} -o {}.html -a {}.log