Linux 将命令结果输出到txt文件

Linux 将命令结果输出到txt文件,linux,bash,syntax-error,kali-linux,Linux,Bash,Syntax Error,Kali Linux,我写了一个运行网络漏洞工具的小脚本,但它似乎没有输出到我想要的文件路径。有人能指出我哪里出错了吗 cisco-torch -A 192.168.128.1 -l v > ~/Documents/Network Scanning Logs/ciscotorchlogs/ciscotorchlogs$(date+"%Y_%m_%d_%I_%M_%p")logfile.txt 理想情况下,脚本应该运行并创建一个新文件名ciscotorchlogs(date)logfile.txt,并

我写了一个运行网络漏洞工具的小脚本,但它似乎没有输出到我想要的文件路径。有人能指出我哪里出错了吗

     cisco-torch -A 192.168.128.1 -l v > ~/Documents/Network Scanning Logs/ciscotorchlogs/ciscotorchlogs$(date+"%Y_%m_%d_%I_%M_%p")logfile.txt
理想情况下,脚本应该运行并创建一个新文件名ciscotorchlogs(date)logfile.txt,并将其输出放在其中。我昨晚运行了脚本,但今天早上回来时发现它没有创建任何输出文件


谢谢您的帮助。

您的路径是
~/Documents/Network Scanning Logs
,我怀疑这些空白导致了问题。你可以这样逃避:

~/Documents/Network\ Scanning\ Logs
等等

还请注意,>正在重定向
stdout
。您可能还需要
stderr
,因此我会使用

> file.txt 2>&1

要将
stderr
发送到
stdout
流(因此被重定向到,例如,
file.txt

重定向到
Documents
文件夹中名为
Network
的文件,因为您没有引用或转义空格。第一个空格后的标记将作为参数传递给您的命令

如果引用得当,命令将是

cisco torch-A 192.168.128.1-l v>~/“文档/网络扫描日志/ciscotorchlogs/ciscotorchlogs$(日期+%Y\u%m\u%d\u%I\u%m\u%p”)logfile.txt”
请注意,
~
如何不能被引用,以及双引号中的命令替换如何仍然得到扩展。(单引号将完全逐字地传递引号中的文本。)最后,在
date
命令与其参数之间需要有一个空格


如果您还想捕获标准错误,可以在末尾添加另一个重定向
2>&1

…特别是,您可能创建了一个文件
~/Documents/Network
@larsks-My thinks too,如果它包含空格字符,您需要引用
“$file”
。(大括号没有帮助,这里也没有提供任何值。)@tripleee-我没有使用大括号作为bash语法,只是为了指示插入的文件名。头脑不太清楚。我将修改Hanks,这正是我修复此问题所需的,它还帮助我找到了一些区分大小写的bug。我已经纠正了它,现在输出正常。