msys2:shell下获取node版本号:

最近在写shell脚本时需要获取node的版本号,代码很简单node --version | sed 's/^v//',在linux(ubuntu)下执行都没有任何问题
在这里插入图片描述
但是在windows下的git-bash(基于msys2)执行时,报错了:
msys2:shell下获取node版本号:_第1张图片

stdout is not a tty 是什么鬼,我只知道大概的意思就是标准输出不是当前的控制台(tty),导致shell 管道操作|不能获取node --version的输出流,解决的办法,就是用bash来执行这条命令,上面的代码改为bash -c "node --version" | sed 's/^v//'执行正常

guyadong@guyadong-PC MINGW64 /j/facelog-install (dev)
$ bash -c "node --version" | sed 's/^v//'
10.15.3

你可能感兴趣的:(msys2,git-bash,node,stdout,tty,script)