问题
I have gitbash
in Windows. I am trying to run jq
but its giving me error.
$ ./jq-win64.exe
jq
parse error: Invalid numeric literal at line 2, column 0
Intention: I want to use jq
to parse json.
回答1:
Using jq-win64.exe
from github.com/stedolan/jq/releases, I get
vonc@voncav MINGW64 /d/prgs/dl
$ ./jq-win64.exe --version
jq-1.6
vonc@voncav MINGW64 /d/prgs/dl
$ echo '{"foo": 0}' | ./jq-win64.exe .
{
"foo": 0
}
So it does work, but it then depends on the json document you are parsing with it.
If that json document is not well-formed, that would generate the error you see.
In your bash session, you can define (or add to your ~/.bashrc
) an alias:
alias jq=/path/to/jq-win64.exe
That way, you don't need to use ./jq
, but directly jq
.
$ echo '{"foo": 0}' | jq
In my case:
vonc@voncav:/$ alias jq=/mnt/d/dwnl/jq-win64.exe
vonc@voncav:/$ echo '{"foo": 0}' | jq
{
"foo": 0
}
回答2:
I hate answers that say you need another to use another tool to download, but using https://chocolatey.org/ made this incredibly simple for me.
From an elevated command-prompt, run:
choco install jq
jq
magically works from bash going forward.
回答3:
Easiest solution and always latest version:
run this curl in your gitbash:
curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
or manually save the jq-win64.exe
in link above as jq.exe
to your /usr/bin
(which is in your git bash installation folder)
(if you are behind a proxy add the -x proxyhost:port
)
回答4:
Instead of using chocolatey (with elevated rights) you could also use scoop.sh:
scoop install jq
回答5:
I just downloaded the binary to %HOMEPATH%/bin/jq-win64
and it worked right away via jq
来源:https://stackoverflow.com/questions/53967693/how-to-run-jq-from-gitbash-in-windows