shell 脚本接收的参数包含特殊字符怎么平滑处理呢

wsgjj 2020-11-14 11:29:41
最近遇到shell脚本需要传递一个url作为入参, 但是参数包含&?等特殊字符, 但是我不想在这个url外面加上单双引号, 这个有什么好的办法处理呢?
e.g../test.sh https://www.sina.net/images_.tgz?KeyId=AKOZDLMWQMNEU5OCJW&Expires=1605322557926&Signature=D87fvBMNH5brQsdfjyJkCy7Mh80=
...全文
16696 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
alittlenewbiek 2020-11-19
  • 打赏
  • 举报
回复
这个我理解不太可能。
你使用的是shell,那么就应该遵从shell的逻辑,
shell不会立刻把参数传递给程序,shell会先尝试解析参数,
当你不希望如此时,只能加上单引号,防止shell的额外处理。

这个问题,就如同如何让python不要使用转义字符\$ \*一样,
有人说,可以使用raw string,但这样必须写成r'$ *',
那如何才能不前缀r又能不使用转义字符呢?
答案是,自己写一个my-python语言。
wsgjj 2020-11-14
  • 打赏
  • 举报
回复
有高人知道吗? 对shell编程不太熟, 网上也没找到很到位的解释, 只是说让加上引号,没有找到不加引号的解决办法

3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧