shell脚本参数内容需要转译的问题

猫小萌的悲伤 2013-01-04 01:14:58
文件file,内容arg="baidu.com"
shell脚本haha.sh,内容
#!/bin/bash
sed -i "s/arg.*/arg=\"$1\"/g" file

比如我运行sh haha.sh qq.com即可把baidu.com修改成qq.com,但是加入我要运行sh haha.sh qq.com/cn,那么就替换不成功,也就是参数里有需要转义的,这个应该怎么处理下才能替换成功?
THanks
...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RedWolf1999 2013-01-04
  • 打赏
  • 举报
回复
引用 2 楼 yang_baby 的回复:
引用 1 楼 fly_qj 的回复:sed -i "s|arg.*|arg=\"$1\"|g" file 恶,多谢,马上揭帖,这个|的意义是?时间紧懒得搜了,嘿嘿
不管是/还是|,这只是个分隔符而已,这个分隔符是随便指定的,不一定非要用/,只不过一般例子中都是用/的,所以可能会认为必须用/。
猫小萌的悲伤 2013-01-04
  • 打赏
  • 举报
回复
引用 1 楼 fly_qj 的回复:
sed -i "s|arg.*|arg=\"$1\"|g" file
恶,多谢,马上揭帖,这个|的意义是?时间紧懒得搜了,嘿嘿
RedWolf1999 2013-01-04
  • 打赏
  • 举报
回复
sed -i "s|arg.*|arg=\"$1\"|g" file

23,116

社区成员

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

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