windows - 命令行窗口
问题描述
我只是想在我的系统上使用以下主要功能的 Go 运行 nmap 扫描
func main() {
execErr := exec.Command("cmd","/c","nmap -T4 -A -v localhost")
if execErr != nil {
panic(execErr)
}
}
它的恐慌。我试图在线搜索文档,但找不到任何对 Windows 有帮助的东西。有人可以帮助或指出一些资源吗?
解决方案
exec.Command()
不返回error
但*Cmd
类型结构,然后您可以在其上调用方法Run()
(或其他方法,请参见下面的注释)来执行命令,如下所示:
cmd := exec.Command("cmd","/c","nmap -T4 -A -v localhost")
err := cmd.Run()
if execErr != nil {
log.Fatal(err)
}
您的代码panic
s 因为exec.Command("cmd","/c","nmap -T4 -A -v localhost")
返回一个指向 struct 的有效非零指针(恐慌消息可能是您提供的然后参数Cmd
的完整路径,这些参数是字段和结构的值......)。cmd.exe
Path
Args
Cmd
panic()
注意:此处不是好习惯,请log.Fatal()
改用。nmap
此外,直接运行并在代码中处理其输出可能会更好。请参阅使用 读取其他命令输出的示例Output()
,具体取决于您要执行的操作以及命令的行为方式CombinedOutput()
。Start()
推荐阅读
- c# - 在有时丢失的属性上使用 JsonConverter,以及检查单个项目或数组
- python - 将字符串而不是 file_location 传递给函数
- git - repo init url -b TAG后如何更改repo分支/标签?
- node.js - npm install java fatal error: 'jni.h' file not found #include
- angular - Send a number instead of a string to Angular's matToolTip as part of mat-icon-button? Alternatively, convert number to string in an Angular template?
- silverstripe - Silverstripe 3.7 Unit Tests - tearDownOnce() and setUpOnce() do not trigger
- java - 归并排序有什么区别?中 = 左 + (右 - 左) / 2 中 = (左 + 右) / 2
- vb.net - User Control Form (Wizard panel) to have common ShowData() function
- python - Flask error 'ImportError: cannot import name 'db' from 'hello' (C:\Users\admin\flask_stuff\venv\hello.py)' when I try to create an SQL Database
- python - Convert and save PytorchTensor to .mat image on GPU in python