Bash中如何向环境变量传递两个逗号分隔字符串?
Bash环境变量赋值逗号分隔字符串的正确方式
你的写法有问题——赋值语句里逗号后面的空格会被Bash当成命令分隔符解析,导致语法错误。正确的写法分两种:
- 直接拼接(去掉空格):
TOKEN=${API_TOKEN_ONE:-<default_string>},${API_TOKEN_TWO:-<default_string>} - 用双引号包裹(允许保留空格,Bash会将整个内容视为单个字符串):
TOKEN="${API_TOKEN_ONE:-<default_string>}, ${API_TOKEN_TWO:-<default_string>}"
不需要用列表形式传递,因为环境变量本质上都是字符串,Bash中不存在原生的“列表类型”环境变量。如果后续需要把TOKEN拆分成两个独立的部分,可以用下面的命令拆分:
IFS=, read -r token1 token2 <<< "$TOKEN"
内容的提问来源于stack exchange,提问作者X T
相关产品推荐
相关产品推荐

