最近在写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
本文介绍在Windows的Git-Bash中通过修改Shell命令解决获取Node.js版本号时遇到的'stdoutisnotatty'错误。通过使用bash命令而非默认的sh命令,成功实现了版本号的正确读取。
1862

被折叠的 条评论
为什么被折叠?



