Bash, если с subshell не работает должным образом
Я пытаюсь автоматизировать выпуск dhclient и новое соединение IPv4, когда соединение не удается, обычно я делаю:
dhclient -r
dhclient -4
Я создал скрипт для автоматизации этого, выполнив команду ping и выполнив оператор if относительно результатов ping.
#!/bin/bash
TEST=1;
while [[ $TEST -ne 0 ]]; do
if [[ $(ping -c 5 "www.ubuntu.com") -ne 0 ]]; then
dhclient -r;
dhclient -4;
else
echo "Connection is good";
TEST=0;
fi
done
Когда я пытаюсь изменить логику, это не говорит о том, что соединение хорошее, но работает и работает как ложное. Почему это?
#!/bin/bash
TEST=1;
while [[ $TEST -ne 0 ]]; do
if [[ $(ping -c 5 "www.ubuntu.com") -eq 0 ]]; then
echo "Connection is good";
TEST=0;
else
dhclient -r;
dhclient -4;
fi
done