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

Fedora下执行bash脚本提示文件不存在,请求技术排查解决

解决prepare.sh脚本中"build_env_list: No such file or directory"错误

问题详情

在Fedora系统的VSCode环境中运行prepare.sh脚本时遭遇错误:

preapare.sh: line 6: /home/lld/LLD_linux_dist/build_env/build_env_list: No such file or directory

相关脚本代码:

echo "Dist Root: ${DIST_ROOT:?}"
echo "LFS: ${LFS:?}"

mkdir -p $LFS/sources

for f in $($DIST_ROOT/build_env/build_env_list)
do
    echo $f
done;

修复方案

1. 确认文件存在性与路径正确性

首先在终端执行以下命令,检查目标路径下是否存在build_env_list文件:

ls -l /home/lld/LLD_linux_dist/build_env/
  • 如果文件不存在:需要创建该文件(它应为包含待处理条目的文本列表,或是可执行脚本)。
  • 如果路径/文件名有误:仔细核对拼写(比如报错中的stroke是line的笔误,需排查路径是否存在类似拼写错误)。

2. 验证环境变量DIST_ROOT

脚本中${DIST_ROOT:?}确保变量已设置,但需确认其值是否正确指向目标目录:

echo $DIST_ROOT

若变量值不正确,在脚本开头添加变量定义:

export DIST_ROOT="/home/lld/LLD_linux_dist"

如果build_env_list是可执行脚本,需为其添加执行权限:

chmod +x $DIST_ROOT/build_env/build_env_list

3. 修正列表读取逻辑(针对文本列表文件)

若build_env_list是普通文本列表(每行一个条目),当前for循环会按空格拆分内容,改为逐行读取的写法更可靠:

while IFS= read -r f
do
    echo "$f"
done < "$DIST_ROOT/build_env/build_env_list"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:42:40