Я настраиваю решение для сбора информации с сотового маршрутизатора. В моем скрипте main.sh
запускаются другие файлы (* .sh) в зависимости от модели маршрутизатора.
Поэтому, если я хочу получить информацию о маршрутизаторе cisco, я выполняю main.sh
, который выполняет InformationCisco.sh
.
В последнем файле оболочки я должен прочитать значение, но
read -p
or
echo -n then read
не работает.
main.sh
./InformationCisco.sh
РЕДАКТИРОВАТЬ: InformationCisco.sh
sshpass -p "$MDPssh" ssh -o StrictHostKeyChecking=no admin@"$IPaddress" "cat /proc/net/arp" > "$MACtxt"
testMAC=$(awk 'NR==3{print $4}' $MACtxt | cut -d ' ' -f23)
if [ -z "$testMAC" ]; then
MacAddressPlayer=$(awk 'NR==2{print $4}' $MACtxt | cut -d ' ' -f23)
echo "MAC address Player : $MacAddressPlayer"
else
echo "2 MAC address in ARP"
echo "You have to find the correct MAC address for the player"
cat $MACtxt
read -p "Enter the right MAC address : " MacAddressPlayer
MAC_Choice $typeMAC
echo "MAC address Player : $MacAddressPlayer"
fi
Я прочитал таблицу ARP моего маршрутизатора, чтобы захватить подключенное к нему устройство. Для этого я использую sshpass, где я могу ввести свой пароль (не волнуйтесь, мой пароль не ясен, это просто упрощение).
Функция чтения не останавливается, когда находится во втором запущенном файле оболочки.
Что я должен изменить, чтобы чтение ожидало ввода?