如何在 windows 命令行中使用“&”作为参数
How to use '&' as an argument in windows commandline
我写了一个 nodejs 包,它允许你从 Windows 终端发出 HTTP(S) 请求,所以你输入类似 http get https://whosebug.com
的东西,然后 bam,就会有响应。但是,我注意到,在 URL 中使用与号 (&) 会中断命令。这似乎是一项内置功能,可让您在一行中 运行 多个命令。所以如果你 运行:
http get https://api.example.com/getinfo?request=example&apikey=APIKEY
,然后它向 https://api.example.com/getinfo?request=example
发出请求,然后尝试将 运行 'apikey' 作为命令,产生错误:'apikey' is not recognized as an internal or external command, operable program or batch file.
我有办法解决这个问题吗?
我不知道这是否也适用于 Windows,但在 Linux 上您可以将字符串放在单引号或双引号中。然后将字符串提供给应用程序而不被终端解释(除了用双引号中的 $ 替换环境变量)。如果您想传递其中包含空格的参数,这也很有用。
所以,试试
http get "https://api.example.com/getinfo?request=example&apikey=APIKEY"
或
http get 'https://api.example.com/getinfo?request=example&apikey=APIKEY'
我写了一个 nodejs 包,它允许你从 Windows 终端发出 HTTP(S) 请求,所以你输入类似 http get https://whosebug.com
的东西,然后 bam,就会有响应。但是,我注意到,在 URL 中使用与号 (&) 会中断命令。这似乎是一项内置功能,可让您在一行中 运行 多个命令。所以如果你 运行:
http get https://api.example.com/getinfo?request=example&apikey=APIKEY
,然后它向 https://api.example.com/getinfo?request=example
发出请求,然后尝试将 运行 'apikey' 作为命令,产生错误:'apikey' is not recognized as an internal or external command, operable program or batch file.
我有办法解决这个问题吗?
我不知道这是否也适用于 Windows,但在 Linux 上您可以将字符串放在单引号或双引号中。然后将字符串提供给应用程序而不被终端解释(除了用双引号中的 $ 替换环境变量)。如果您想传递其中包含空格的参数,这也很有用。
所以,试试
http get "https://api.example.com/getinfo?request=example&apikey=APIKEY"
或
http get 'https://api.example.com/getinfo?request=example&apikey=APIKEY'