Pipe HEREDOC to xargs
When creating a HEREDOC, you can use any keyword to denote the start and end of the HEREDOC block. In this case, I used the keyword
HEREDOC but any word can be substituted in its place.
# -I % indicates the "placeholder" value for the current item in the pipeline # Each line of the HEREDOC -- 10.6.6.1, 10.6.6.2, 10.6.6.3 -- is piped to xargs as stdin # xargs processes each item one at a time and runs the specified command against stdin # In this case, the command is a nmap scan of the top 1,000 ports of target IP cat << HEREDOC | xargs -I % nmap -Pn --top-ports 1000 -oN % % 10.6.6.1 10.6.6.2 10.6.6.3 HEREDOC