请教MJJ一个shell脚本方面的问题

108次阅读

共计 1206 个字符,预计需要花费 4 分钟才能阅读完成。

  1. #!/bin/bash
  2. curl -X POST “https://api.day.app/key” -H ‘Content-Type: application/x-www-form-urlencoded; charset=utf-8’ -d “title= 下载提醒 &body=”${1}下载好了 ”&group= 下载提醒 ”

复制代码

这里的 ${1}我如果用单括号括了就没法接收参数了,但如果不括起来,传进来的参数有 () 时就会这样报错。

-sh: syntax error near unexpected token `(‘

不是很懂这个问题了,谷歌也不知道怎么搜了,希望有懂得 MJJ 能指点下。

其实我就是希望参数能传进去,然后传进去的内容按照纯文本输出。类似于 '(12321)’ 的效果。

网友回复:

注册 只能用双括号 新建变量 msg=”$1 下载好了 ”  -d “title= 下载提醒 &body=$msg&group= 下载提醒 ”

xixi3 “‘”${1}”‘ 文字 ’”${2}”‘” 复制代码要加一个单引号才能识别参数,最里面那个双引号是避免报错

Laa 谢谢,我按你的写法写出如下效果,可以正常显示了,但是碰到特殊字符会直接吃掉。#!/bin/bash msg=”$1 下载好了 ” curl -X POST “https://api.day.app/key” -H ‘Content-Type: application/x-www-form-urlencoded; charset=utf-8’ -d “title= 下载提醒 &body=$msg&group= 下载提醒 &sound=shake” 复制代码 [~] bark.sh “[爱恋 & 漫猫字幕组] )” {“code”:200,”message”:”success”,”timestamp”:1658492707}[~] # 复制代码

valueshine $1 表示第一个参数 没有 ${1}这种用法 可以先用别的变量获取 $1 的值再用 ${}这种方法调用

xixi3 -d “title= 下载提醒 &body=”‘”${1}”‘” 复制代码 老哥我这样写了,但只会输出 ”${1}” 出来。

rem 感觉这个应该是最终解了,虽然吃 & 后面的内容,但好在不会直接报错。#!/bin/bash msg=”$1″ curl -X POST “https://api.day.app/key” -H ‘Content-Type: application/x-www-form-urlencoded; charset=utf-8’ -d “title= 下载完成 &body=${msg}&group= 下载提醒 ” 复制代码

xixi3 忘了,我的是 json 数据,不是 json 数据用 ${args}

xixi3 问一下 楼主没有自建 bark 的服务端吗 我自建的不能通过宝塔反代添加 ssl 只能默认 http 感觉不安全

xixi3 那我试试 json 的写法。

注册 换了 json 完美了,感谢老哥。

注册 因为只传递一些不重要的通知,我没有自建。

正文完
 0