如何在不使用引号的情况下在shell脚本中获取带有&符号的字符串参数?

问题描述 投票:-1回答:1

我正在构建一个shell脚本(试图与POSIX兼容),我陷入了一个问题。该脚本应该接收一个URL并对其内容进行一些处理。

myscript www.pudim.com.br/?&args=ok

事实是,&符号被解释为命令加法,并且仅将www.pudim.com.br/?部分作为参数提供给我的脚本。

显然,正确的解决方法是用单引号将URL引起来,但是每次这样做都太痛苦了。

是否有某种方法可以获取完整的URL参数,从而绕过与号?

shell sh posix
1个回答
0
投票

您可以逃脱just和号;引号有效地转义了它们之间的每个字符。

myscript www.pudim.com.br/\?\&args=ok  # The ? should be escaped as well

[没有解决方案可以避免使用all引号,因为&是shell元字符,其无引号的含义不能被禁用。

© www.soinside.com 2019 - 2024. All rights reserved.