首页 > 解决方案 > 将参数传递给 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

帮助

标签: bashcurl

解决方案


let 命令用于计算算术表达式,因此它无法将点 (.) 字符识别为有效输入,因为点 (.) 不是有效的算术运算符。

因此,如果您想在变量中接受参数,请在没有 let 关键字的情况下定义 then ,就像给定的代码一样。

a=$1
b=$2

echo $a
echo $b

推荐阅读