Есть скрипт:
a=1
b=2
c=a+b
d=$a+$b
e=$(($a+$b))
Какие значения переменным c,d,e будут присвоены? Почему?
Переменная | Значение | Обоснование |
---|---|---|
c |
a+b | это строковые значения |
d |
1+2 | "1+2" воспринимается как строковые значение |
e |
3 | Выражение в скобках и под $ поэтому это числовео значение |
На нашем локальном сервере упал сервис и мы написали скрипт, который постоянно проверяет его доступность, записывая дату проверок до тех пор, пока сервис не станет доступным (после чего скрипт должен завершиться). В скрипте допущена ошибка, из-за которой выполнение не может завершиться, при этом место на Жёстком Диске постоянно уменьшается. Что необходимо сделать, чтобы его исправить:
while ((1==1)
do
curl https://localhost:4757
if (($? != 0))
then
date >> curl.log
fi
done
Исправленный скрипт, для тестирования я взял 631 порт #/bin/bash date=$(date) while ((1==1)) do
sleep 5
curl -I -k https://localhost:631
if (($? != 0))
then
date >> curl.log
else
echo $date OK >> curl.log
fi
done
Необходимо написать скрипт, который проверяет доступность трёх IP: 192.168.0.1
, 173.194.222.113
, 87.250.250.242
по 80
порту и записывает результат в файл log
. Проверять доступность необходимо пять раз для каждого узла.
hosts=(192.168.0.1 173.194.222.113 87.250.250.24)
timeout=5
for i in {1..5}
do
date >>hosts.log
for h in ${hosts[@]}
do
curl -Is --connect-timeout $timeout $h:80 >/dev/null
echo " check" $h status=$? >>hosts.log
done
done
Необходимо дописать скрипт из предыдущего задания так, чтобы он выполнялся до тех пор, пока один из узлов не окажется недоступным. Если любой из узлов недоступен - IP этого узла пишется в файл error, скрипт прерывается.
hosts=(192.168.0.1 173.194.222.113 87.250.250.24)
timeout=5
for i in {1..5}
do
date >>hosts.log
for h in ${hosts[@]}
do
curl -Is --connect-timeout $timeout $h:80 >/dev/null
echo " check" $h status=$? >>hosts.log
done
done