El problema es que nc
escribe en un error estándar al generar mensajes de diagnóstico, mientras que una sustitución de comando solo captura la salida estándar.
También debería usar ==
en [[... ]]
. Las expansiones variables deben citarse e idealmente estaría usando printf
para generar datos variables.
Esto significa que su código podría verse como
while read SERVER do
OPEN=$( nc -z -v -w5 "$SERVER" 22 2>&1 )
if [[ "$OPEN" == *succ* ]]; then
printf 'Found SSH open on %s'\n' "$SERVER"
else
printf 'No open ports on %s!\n' "$SERVER"
fi
done <server.txt
o
while read SERVER do
OPEN=$( nc -z -v -w5 "$SERVER" 22 2>&1 )
case "$OPEN" in
*succ*) printf 'Found SSH open on %s'\n' "$SERVER" ;;
*) printf 'No open ports on %s!\n' "$SERVER" ;;
esac
done <server.txt
O simplemente podría usar el estado de salida denc
:
while read SERVER do
if nc -z -v -w5 "$SERVER" 22 >/dev/null 2>&1; then
printf 'Found SSH open on %s'\n' "$SERVER"
else
printf 'No open ports on %s!\n' "$SERVER"
fi
done <server.txt
Я изменил настройки безопасной загрузки (Честно говоря, я просто добавил пароль, чтобы разрешить отображение всех загрузочных дисков ).
Если у вас также была эта проблема, перезагрузитесь в раздел восстановления (команда -R, когда появится яблоко при загрузке -вверх ), и перейдите в «Утилиты»> «Настройки безопасной загрузки» или что-то в этом роде — все-таки верхний.
Мне непонятно, пытаетесь ли вы загрузиться с USB-накопителя непосредственно на Mac или используете эмулятор QEMU. Я ничего не увидел о QEMU в вашем пронумерованном списке.
Если вы хотите запустить Arch Linux на QEMU и хотите сделать это с помощью прошивки UEFI, вам придется использовать прошивку UEFI с QEMU. Поскольку QEMU эмулирует всю машину, включая прошивку, вы не можете использовать собственную прошивку (, будь то UEFI или устаревший BIOS ). OVMF — это порт реализации прошивки Tianocore UEFI на QEMU. Вам нужно будет указать файл прошивки OVMF для QEMU/KVM при загрузке виртуальной машины.