После того, как вы изменили требования вашего вопроса еще раз ...
В bash
вы могли бы использовать раскрытие фигурной скобки:
$ printf '%s' {Book/,Pen/,Pencil/,n/}{Cat/,Rat/,Bat/,m/}
Book/Cat/Book/Rat/Book/Bat/Book/m/Pen/Cat/Pen/Rat/Pen/Bat/Pen/m/Pencil/Cat/Pencil/Rat/Pencil/Bat/Pencil/m/n/Cat/n/Rat/n/Bat/n/m/
Обратите внимание, что вывод не заканчивается новой строкой.
Чтобы создать path
из двух разделенных запятыми строк в $A
и$B
:
#!/bin/bash
A="Book,Pen,Pencil,n"
B="Cat,Rat,Bat,m"
oldIFS=$IFS
IFS=,
for i in $A; do
for j in $B; do
path+="$i/$j/"
done
done
IFS=$oldIFS
printf '%s\n' "$path"
Выход:
$./script.sh
Book/Cat/Book/Rat/Book/Bat/Book/m/Pen/Cat/Pen/Rat/Pen/Bat/Pen/m/Pencil/Cat/Pencil/Rat/Pencil/Bat/Pencil/m/n/Cat/n/Rat/n/Bat/n/m/
Ошибки(Failed to resolve "–PN"
)указывают на то, что nmap обрабатывал ваши опции не как опции, а как потенциальные цели. steeldriver заметил, что в параметрах используются символы EN DASH, а не дефисы ASCII:
–PN –sT –sV –p0-65535
вместо:
-PN -sT -sV -p0-65535
Вместо этого используйте эту команду:
nmap -PN -sT -sV -p0-65535 192.168.1.100
... и вы получите выполнение nmap, как вы и предполагали.