天天看點

msys2:shell下擷取node版本号:

最近在寫shell腳本時需要擷取node的版本号,代碼很簡單

node --version | sed 's/^v//'

,在linux(ubuntu)下執行都沒有任何問題

msys2:shell下擷取node版本号:

但是在windows下的git-bash(基于msys2)執行時,報錯了:

msys2:shell下擷取node版本号:

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           

複制