Как выполнять команды sudo с помощью Expect & amp; отправлять команды в сценарии bash?

Чтобы перечислить все адаптеры дисплея, вы должны использовать следующую команду:

lspci -nn | grep '\[03[02]0\]'

Это ищет «VGA-совместимый контроллер», но также и «3D-контроллер» (так выглядят некоторые карты Nvidia ). Пример вывода для моего гибридного графического ноутбука (i5-460m и GT 425M):

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 425M] [10de:0df0] (rev a1)

Если ваш аппарат оснащен встроенной видеокартой Intel, но он не отображается, рассмотрите возможность поиска в настройках BIOS. Продавцы, такие как Lenovo, предоставляют вам возможность выбирать между установкой Intel или Nvidia только для Intel или Nvidia. Выбор режимов только для Intel или Nvidia позволит скрыть адаптеры с выхода lspci.

1
задан 10 April 2018 в 15:25

3 ответа

Я хотел бы поделиться своим сценарием. Я попробовал это в своей системе. это работает нормально.

#!/usr/bin/expect
set username "myname"
set password "mypasswd"
set hosts "hostname"
foreach line [split $ip \n] {
spawn ssh -o StrictHostKeyChecking=no $username@$hosts
expect "$username@$hosts's password:"
send -- "$password\n"
expect "$"
send -- "sudo virsh list|awk '{print \$2}'|grep 'inmobi' >vm.list; for host in `cat vm.list`; do sudo virsh dominfo \$host >> vm.info; done\n"
expect "$"
send -- "$password\n"
expect "$"
send -- "exit\n"
3
ответ дан 24 May 2018 в 21:10

Я думаю, вам может потребоваться обратная косая черта в кавычках. В противном случае expect думает, что команда заканчивается после «awk»:

send "output=$(sudo virsh list --all | awk \"/running/{print \$2}\" | tail -2); sudo virsh dominfo $output"
0
ответ дан 24 May 2018 в 21:10

Попытайтесь закончить его командой «взаимодействовать», она должна работать.

spawn ssh -l $username $ip -p $sshport
sleep 5
expect "password:"
send "$pass\r"
interact
0
ответ дан 24 May 2018 в 21:10

Другие вопросы по тегам:

Похожие вопросы: