Я запускаю команду say nmap www.somesite.com>file.txt, чтобы я мог получить вывод в файл .txt. Но если я это сделаю, я не смогу увидеть вывод этой команды на терминале. Возможно ли это сделать и на терминале.
Я знаю использование tee, но я хочу сделать это специально таким образом.
tee предназначен для разделения STDIN на файл и возврата в STDOUT.
Простыми словами просто пропустите его так:
nmap www.somesite.com | tee file.txt
Текущая принятая альтернатива включает в себя запуск nmap дважды, что является ужасной идеей. Вам лучше было бы запустить его один раз для файла и затем вывести файл.
nmap www.somesite.com > file.txt; cat file.txt
Именно это означает tee. Почему вы не хотите использовать это?
Альтернативой может быть захват вывода и повторение его дважды:
output=$(nmap localhost)
echo "$output"
echo "$output" > somefile.txt
Однако в специальном случае nmap вы можете воспользоваться его выходным параметром -ox :
OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.
Например:
nmap -oN somefile.txt localhost
Кажется, нужно сделать именно то, что вы хотите: вывести на терминал и также записать в файл. [ ! d5]