最近在写shell脚本时需要获取node的版本号,代码很简单node --version | sed 's/^v//'
,在linux(ubuntu)下执行都没有任何问题
但是在windows下的git-bash(基于msys2)执行时,报错了:
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