You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SOPS提取值且避免输出中出现多余换行符?

解决SOPS提取值带多余换行符的问题

方法1:利用bash命令替换自动去除换行

bash的$(...)命令替换会自动忽略命令输出末尾的换行符,直接用以下方式赋值环境变量:

export password=$(sops --extract '["password"]' --decrypt test.enc.json)

赋值后用echo "$password"验证,不会出现多余换行。

方法2:用xargs过滤换行与冗余空格

如果命令替换未生效,或者值存在多余空白,可通过xargs过滤:

export password=$(sops --extract '["password"]' --decrypt test.enc.json | xargs)

注意:xargs会清除字符串首尾空格,若你的密码包含首尾空格,请勿使用此方法。

方法3:用tr精准删除换行符

之前tr无效大概率是引号使用错误,改用单引号包裹'\n',确保tr正确识别换行符:

export password=$(sops --extract '["password"]' --decrypt test.enc.json | tr -d '\n')

方法4:使用sops原生--raw选项(推荐)

sops自带--raw参数,提取值时直接输出原始字符串(不带JSON引号,也不会额外添加换行),是最省心的方案:

export password=$(sops --extract '["password"]' --raw --decrypt test.enc.json)

内容的提问来源于stack exchange,提问作者toraritte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:15:07