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

在Bash中无法将文件内容导出为变量,求解决方案

解决方法

错误原因是$(cat /tmp/svc)会保留文件里的换行符,执行export时,换行后的内容会被当成独立的变量名参数,因此触发"bad variable name"错误。

要把文件内的路径转为空格分隔的字符串存入变量,可使用以下几种方法:

  • 方法一:用tr替换换行符为空格
export testvar=$(tr '\n' ' ' < /tmp/svc)

如果不想让结果末尾保留多余空格,可追加处理:

export testvar=$(tr '\n' ' ' < /tmp/svc | sed 's/ $//')
  • 方法二:利用Bash变量替换功能
    先读取文件内容到变量,再将换行符替换为空格后导出:
testvar=$(cat /tmp/svc)
testvar=${testvar//$'\n'/ }
export testvar

执行上述命令后,运行echo "$testvar"就能得到你需要的空格分隔路径字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:25:24