草庐IT

os-shell

全部标签

go - 从 vscode shell 安装扩展会产生 fatal error

我在Windows10x64上尝试从vscode安装扩展时遇到错误。例如,当我启动vscode时,在右下角的通知区域中,我看到“分析工具丢失”。单击此按钮会生成一个信息栏“您的GOPATH中缺少一些Go分析工具。您要安装它们吗?”点击安装按钮会产生错误:Installing1toolgotestsInstallinggithub.com/cweill/gotests/...FAILED1toolsfailedtoinstall.gotests:Error:Commandfailed:C:\Go\bin\go.exeget-u-vgithub.com/cweill/gotests/...

unit-testing - 为从中读取的函数填充 os.Stdin

如何在我的测试中填充os.Stdin以获取使用扫描仪从中读取的函数?我使用以下函数通过扫描器请求用户命令行输入:funcuserInput()error{scanner:=bufio.NewScanner(os.Stdin)println("Whatisyourname?")scanner.Scan()username=scanner.Text()/*...*/}现在如何测试这种情况并模拟用户输入?以下示例不起作用。标准输入仍然是空的。funcTestUserInput(t*testing.T){varfile*os.Filefile.Write([]byte("Tom"))os.St

go - 在 mac OS Sierra 10.12 上安装 gomobile

我正在尝试在macOSSierra10.12上安装gomobile。我已经安装了go版本1.7.1。完成下面给出的步骤后:gogetgolang.org/x/mobile/cmd/gomobile移动初始化我得到以下错误gomobile:goinstall-pkgdir=/usr/local/mobgo/pkg/gomobile/pkg_darwin_armstdfailed:exitstatus2#internal/poll../go/src/internal/poll/fd_mutex.go:194:6:missingfunctionbody../go/src/internal/p

windows - 使用新的环境变量 fork Windows shell

我可以在linux(bash)上使用:os.Setenv("TESTKEY","TestVal")syscall.Exec(os.Getenv("SHELL"),[]string{os.Getenv("SHELL")},syscall.Environ())是否可以在powershell中做类似的事情?我尝试了各种替代方案,但它们都默默地失败了,例如:syscall.Exec("PowerShell",[]string{"-Command","Set-Item","-path","env:TESTKEY","-value","TestVal"},env) 最佳

go - 不可能类型开关案例 : ErrorType (type reflect. 类型)不能有动态类型 *os.SyscallError(缺少对齐方法)

尝试确定连接错误是什么并将值返回给程序。d:=net.Dialer{Timeout:20*time.Second}conn,errors:=d.Dial("tcp",fmt.Sprintf("%v:%v",host,port))iferrors!=nil{ifoerr,ok:=errors.(*net.OpError);ok{ErrorType:=reflect.TypeOf(oerr.Err)switchErrorType.(type){case*os.SyscallError:fmt.Println("connect:connectiontimedoutto",host,"onpo

go - 为什么 os/exec.StderrPipe 的编写器在 Start() 中关闭?

谁能帮我理解为什么pw(thewriter)计划于Start()结束?我希望pw与pr(thereader)一起关闭在Wait(). 最佳答案 closeAfterStart和closeAfterwait是io.Closers的两片分别称为insStart和Wait的cmd结构。现在,这是为什么?这两个基本上都是缓冲区(slice),需要写入读出。根据它们当前是否正在使用,它们将被关闭。例如StdInPipe需要先读取再写入,因此pr包含在closeAfterStart中和pw在closeAfterWait.对StdOutPipe执

go - 执行 psql 命令时 os/exec 上的输出不完整

我目前正在使用os/exec按顺序运行许多psql命令。我的问题是,如果在脚本执行期间出现错误,输出不会显示它。例子:从命令行执行命令文件时,输出是这样的:SETCREATEFUNCTIONpsql:update-14.3.7.1/dml/----------------xxxxxxxx.sql:33:ERROR:nullvalueincolumn"tipoxxxxxxxx"violatesnot-nullconstraintDETALHE:Failingrowcontains(9,0,null,null,null,null,AAAAAAAAA_BBBBBBBBBB_CCCCC_BAN

shell - 从 shell 脚本按下 Enter 后读取 GoLang 命令行参数

所以我使用的是用go编写的OSS,我没有接触过它。我正在尝试使该脚本自动化。这就是脚本的工作原理calling_go_code用户确认消息获取用户输入执行代码。我正在尝试自动执行此脚本。到目前为止,这是我尝试过的,shtest.shParam1当我运行脚本时echo"hello"calling_go_code上面的代码要求一些参数作为输入测试.shshtest.shParam1echo"hello"calling_go_code--$1 最佳答案 基于@RichardHuxton的帖子。这是我正在使用的解决方案#!/usr/bin/

unix - go语言os.FileMode函数是如何从integers/octal/转换权限的???在设置标志之前?

更新:根据目前的评论和回复,我想我应该明确表示我理解0700是十进制数448的八进制表示。我关心的是当一个八进制mode参数,或者当一个十进制数被重铸为八进制数并传递给os.FileMode方法时,使用WriteFile创建的文件的最终权限似乎没有以一种有意义的方式排列。我尽我所能将问题的规模缩小到本质,也许我需要再做一轮Update2:重新阅读后,我想我可以更简洁地陈述我的问题。调用os.FileMode(700)应该与使用二进制值1-010-111-100调用它相同。对于这9个最低有效位,应该有以下权限:--w-rwxr--或八进制的274(并转换回相反,FileMode导致Wri

go - 如何修复在 Windows 上压缩的 os.PathSeparator 解压缩文件?

我在Windows上压缩文件,在Linux上解压缩时,使用操作系统默认应用程序,它不会沿路径创建文件夹,而是创建一个名为“indexes\search.invcus\index_meta.json”的文件,例如:unzip2019-05-23_113735_data.zip-dxfolderArchive:2019-05-23_113735_data.zipinflating:xfolder/indexes\search.invcus\index_meta.jsoninflating:xfolder/indexes\search.invcus\storeinflating:xfolde