Итак, наконец-то я понял, я выполнил следующие шаги:
Общий доступ к Интернету в Linux (I)-Wi-Fi в локальную сеть (NAT)
Но я думаю, что мне все еще нужно сделать еще один шаг, установить статическую маршрутизацию на сетевом маршрутизаторе, чтобы я мог получить доступ к подсети eth0 pi с любого устройства в основной сети.
Завтра попробую на работе.
Приведенная ниже функция выполняет команду в параметре 7, если процесс dialog
завершается с ненулевым -статусом выхода; иначе --если dialog
успешно завершится --функция выполнит команду в параметре 8.
function YesNoPrompt {
if ! dialog --begin 2 1 --no-shadow --title "$1" --hline "$2" \
--backtitle "$3" --yes-label "$4" --no-label "$5" \
--yesno "$6" 26 38 20>&1 > /dev/tty
then
eval "$7"
else
eval "$8"
fi
}
Я переработал логику с ||
на полноценный -развернутый if/then/else
оператор; в противном случае ваша замена exit
(, если это не exit
или return
), может позволить выполнить последующуюsudo reboot
(или замену )на также . Предположительно, вы хотите, чтобы выполнялась только одна или другая команда. Я также привел все параметры.
eval
необходим, если вы хотите передать более одного слова в качестве команды (, напримерsudo reboot
). Обратите внимание, что eval
заставляет параметр пройти еще один цикл интерпретации оболочки, поэтому остерегайтесь таких вещей, как подстановочные знаки или другие расширения.