Командная строка, эквивалентная созданию виртуальной машины с графическим интерфейсом пользователя virt-manager

Поскольку "cat file | while read line ..." запускает тело "while" в Переменные подоболочки и оболочки не будут видны за пределами подоболочки, но «пока читается строка; делать ...; done <<(команда)» запускает их в той же оболочке.

Вот мой тестовый файл:

$ cat fruits.txt
apple
cherry
pear
plum

Посмотрите разницу между двумя сценариями и их результатами:

$ cat a.sh
#!/bin/bash

FOUND=0

while read fruit ; do
    case $fruit in
    cherry)
        echo yay, cherry found
        FOUND=1
        ;;
    esac
done < <(cat fruits.txt)
echo cherry found: $FOUND

$ ./a.sh
yay, cherry found
cherry found: 1

но

$ cat b.sh 
#!/bin/bash

FOUND=0

cat fruits.txt | while read fruit ; do
    case $fruit in
    cherry)
        echo yay, cherry found
        FOUND=1
        ;;
    esac
done
echo cherry found: $FOUND
$ ./b.sh 
yay, cherry found
cherry found: 0
1
16.02.2019, 06:43
1 ответ

Вероятно, вам нужны virt-installи virsh. Первые могут устанавливать виртуальные машины из командной строки, а вторые могут использоваться для отправки команд в libvirt как adhoc, так и в виде оболочки

.
1
27.01.2020, 23:41

Теги

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