最近在寫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
複制