26 lines
591 B
Bash
Executable File
26 lines
591 B
Bash
Executable File
#!/bin/bash
|
||
|
||
# Проверка, что переданы два аргумента
|
||
if [ $# -ne 2 ]; then
|
||
echo "Использование: $0 <число1> <число2>"
|
||
exit 1
|
||
fi
|
||
|
||
# Проверка, что аргументы — числа
|
||
if ! [[ $1 =~ ^[0-9]+$ ]] || ! [[ $2 =~ ^[0-9]+$ ]]; then
|
||
echo "Ошибка: оба аргумента должны быть неотрицательными целыми числами"
|
||
exit 1
|
||
fi
|
||
|
||
a=$1
|
||
b=$2
|
||
|
||
# Алгоритм Евклида
|
||
while [ $b -ne 0 ]; do
|
||
remainder=$((a % b))
|
||
a=$b
|
||
b=$remainder
|
||
done
|
||
|
||
echo $a
|