Использовать входные данные из файла для команды

Использовать входные данные из файла для команды

Я хочу использовать MAC-адрес, сохраненный в файле, в aireplay-ngкоманде. Я хочу, чтобы эта команда была выполнена один раз для каждого MAC-адреса в файле.

Не могли бы вы мне подсказать, как это сделать?

решение1

Вы можете попробовать что-то вроде xargs -a FILE -d '\n' -L 1 -r COMMAND. -aи -dуказать xargs, что нужно считать аргументы командной строки из файла, по одному аргументу на строку; и -L1 -rуказать, что нужно вызывать команду один раз для каждой строки ввода, не выполняя ее, если ввод отсутствует.

решение2

В чистом Bash следует использовать while readцикл:

while IFS= read -r mac; do COMMAND "$mac" ; done < /path/to/file

Здесь, $macбудет удерживать каждую строку. Это IFS=защита от начальных и конечных пробелов.

Смотрите также:Не читайте строки сfor– он не предназначен для чтения из файлов.

Связанный контент