Ruby 在不截断键/值对的情况下启动URL

Ruby 在不截断键/值对的情况下启动URL,ruby,Ruby,有人知道如何在浏览器中打开包含多个键值对的完整url吗?我正在自动打开一堆URL,它们在第一个键/值对之后启动时都会被截断。见下文: 我在跑步: 系统(“打开https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid“” 但在浏览器中打开的是: https://someradurl.awesaome.com/approvals?code=guid 正如您所见,它在启动时会剥离上下文和任何其他附加键 我知道我可以使

有人知道如何在浏览器中打开包含多个键值对的完整url吗?我正在自动打开一堆URL,它们在第一个键/值对之后启动时都会被截断。见下文:

我在跑步:

系统(“打开https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid“”

但在浏览器中打开的是:

https://someradurl.awesaome.com/approvals?code=guid

正如您所见,它在启动时会剥离上下文和任何其他附加键

我知道我可以使用launchy gem来实现这一点,这是可行的,但我正在寻找一个Ruby本机解决方案。我还想了解为什么系统(“开放”)不起作用

非常感谢您的帮助。我已经做了一个星期了


我正在运行Mac:ruby 2.4.1p111(2017-03-22修订版58053)[x86_64-darwin16],如果这有帮助的话。

您希望在命令中用双引号括起URL,否则正如您所看到的,在大多数shell中,&之后的任何内容都会被删除为运算符字符。由于该命令已经是双引号中的字符串,因此可以使用转义双引号在命令中使用双引号,
\”
,即
“\”字符串中的字符串\

尝试:


希望有帮助!

您希望在命令中用双引号括起URL,否则正如您所看到的,在大多数shell中,&之后的任何内容都会被剥离为一个运算符字符。由于命令已经是一个双引号中的字符串,您可以在命令中使用双引号,使用转义双引号,
\“
,也就是说,
“字符串中的字符串”

尝试:


希望有帮助

TLDR-链接应该用单引号括起来

系统(“xdg打开”https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid“”)


使用
xdg open

从xdg open的
手册页

EXAMPLES
           xdg-open 'http://www.freedesktop.org/'

       Opens the freedesktop.org website in the user's default browser.

           xdg-open /tmp/foobar.png

       Opens the PNG image file /tmp/foobar.png in the user's default image viewing
       application.

这不是ruby特有的问题。

TLDR-链接应该用单引号括起来

系统(“xdg打开”https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid“”)


使用
xdg open

从xdg open的
手册页

EXAMPLES
           xdg-open 'http://www.freedesktop.org/'

       Opens the freedesktop.org website in the user's default browser.

           xdg-open /tmp/foobar.png

       Opens the PNG image file /tmp/foobar.png in the user's default image viewing
       application.

这不是ruby特有的问题。

将URL用单引号括起来更好,因为它们保证shell不会试图解释它们之间的任何内容。将URL用单引号括起来更好,因为它们保证shell不会试图解释它们之间的任何内容。
xdg open
通常在仅限Linux。在macOS上,可用的命令实际上被称为
open
xdgopen
通常仅在Linux上可用。在macOS上,可用的命令实际上被称为
open