将命令结果输出到txt文件
Outputing command results to a txt file
我为 运行 网络漏洞工具编写了一个小脚本,但它似乎没有输出到我想要的文件路径。谁能指出我哪里出错了?
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
的文件,因为您没有引用或转义白色 space。第一个白色space 之后的标记将作为参数传递给您的命令。
如果引用正确,命令将是
cisco-torch -A 192.168.128.1 -l v > ~/"Documents/Network Scanning Logs/ciscotorchlogs/ciscotorchlogs$(date +"%Y_%m_%d_%I_%M_%p")logfile.txt"
请注意如何 ~
不能被引用,以及双引号内的命令替换如何仍然得到扩展。 (单引号会完全逐字地传递引号内的文本。)最后,date
命令及其参数之间需要一个 space。
如果你还想捕获标准错误,你可以在最后添加另一个重定向 2>&1
(同样,前面有一个 space)。
我为 运行 网络漏洞工具编写了一个小脚本,但它似乎没有输出到我想要的文件路径。谁能指出我哪里出错了?
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
的文件,因为您没有引用或转义白色 space。第一个白色space 之后的标记将作为参数传递给您的命令。
如果引用正确,命令将是
cisco-torch -A 192.168.128.1 -l v > ~/"Documents/Network Scanning Logs/ciscotorchlogs/ciscotorchlogs$(date +"%Y_%m_%d_%I_%M_%p")logfile.txt"
请注意如何 ~
不能被引用,以及双引号内的命令替换如何仍然得到扩展。 (单引号会完全逐字地传递引号内的文本。)最后,date
命令及其参数之间需要一个 space。
如果你还想捕获标准错误,你可以在最后添加另一个重定向 2>&1
(同样,前面有一个 space)。