Преобразовать xargs команду Bash в PowerShell?

Похоже, что прерывание не было выдано с моего устройства: я где-то читал, что в устаревших IRQ устройства соединены в цепочку на выводах IRQ 10 и 11. Таким образом, процессор / ядро ​​не может сказать, какой из них выдан IRQ.

Если я правильно понял, когда выдается IRQ, каждое устройство, имеющее устаревшие прерывания, должно сказать, было ли оно создано или нет. Это делается путем установки регистров, которые будут считываться драйвером, который сможет обрабатывать IRQ. И затем устройство, следующее за ним в списке, сделает то же самое.

Поскольку я настроил свое устройство PCI QEMU, чтобы оно возвращало 0 для регистров, которые указывают, выдало ли устройство IRQ, IRQ проходит и после этого отключается. Поэтому я предполагаю, что это потому, что IRQ был выдан другим устройством.

Если кто-то считает, что это не настоящая причина, я был бы рад узнать, есть ли другая возможность:)

Еще раз спасибо @ peter-maydell за вашу помощь!

17
задан Ana Betts 27 April 2009 в 17:40
поделиться

1 ответ

Лучше всего направить вывод ls в командлет foreach-object следующим образом (% является псевдонимом для foreach-object):

ls | %{rconvert $_ -resize 128x128}

Edit: ls выводит список FileInfo или DirectoryInfo объекты на конвейер. Чтобы отфильтровать объекты DirectoryInfo, используйте фильтр where-object (? Is alias):

ls | ?{-not $_.PSIsContainer} | %{rconvert $_ -resize 128x128}

Если вам нужен полный путь к имени в вашей команде, используйте свойство FullName объекта FileInfo (само $ _ будет разрешено до $ _. Name, которое является просто именем файла):

ls | ?{-not $_.PSIsContainer} | %{rconvert $_.FullName -resize 128x128}
26
ответ дан 30 November 2019 в 13:05
поделиться
Другие вопросы по тегам:

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