bash - 将参数传递给 bash 脚本(curl)
问题描述
在 gitlab 中有脚本,任务很简单,通过传递 2 个参数运行脚本
我使用命令:
bash <(curl -Ls "https://gitlab.com/sdf/sdf/-/raw/sdf-main-patch-23022/script.sh?inline=false") domain.xyz 8000
在脚本中,一个简单的代码:
let a=$1
let b=$2
我的命令工作但得到错误:syntax error: invalid arithmetic operator (error token is ".xyz")
我知道这就是执行算术的写法……但是您知道我想做什么吗?
这里很明显我做错了什么,我不太明白。在 bash 中,有人可以告诉我这里有什么问题吗?
但例如,如果你这样做,一切正常,没有错误..
bash <(echo 'echo args: "$1$2"') domain.xyz 8000
帮助
解决方案
let 命令用于计算算术表达式,因此它无法将点 (.) 字符识别为有效输入,因为点 (.) 不是有效的算术运算符。
因此,如果您想在变量中接受参数,请在没有 let 关键字的情况下定义 then ,就像给定的代码一样。
a=$1
b=$2
echo $a
echo $b
推荐阅读
- matlab - 如何在matlab中将标准误差转换为p值?
- ios - iOS CallKit - 没有“未接来电通知”
- mysql - 使用 oracle 比较 sysdate 和 iso 8601
- javascript - 如果变量未定义,则有条件地执行分支
- r - 无法在 ShinyApp 中生成 R-Markdown 报告
- typescript - Typescript 接口,其中“id”必须是数字,其他属性必须是字符串
- amazon-web-services - 将手动创建的 K8s 集群导入 KOps
- reactjs - React MapBox 我无法更改位置
- ruby-on-rails - 使用cancancan的未定义方法“admin”
- ios - 由于 UIautodimensions 不起作用,如何修复单个单元格的动态高度