xx.sh: 行 2: $‘\r‘:未找到命令

一、解决方案

先说解决方案:使用 dos2unix 工具将文件的换行符转换为 Unix 格式

sudo apt install dos2unix
dos2unix scripts/v1_5/eval/textvqa.sh

二、具体问题

再分析具体问题

在运行本地的一个sh文件时,出现无法找到命令的报错

bash scripts/v1_5/eval/textvqa.sh

scripts/v1_5/eval/textvqa.sh: 行 2: $‘\r’:未找到命令

usage: model_vqa_loader.py [-h] [–model-path MODEL_PATH]
[–model-base MODEL_BASE]

model_vqa_loader.py: error: unrecognized arguments:
scripts/v1_5/eval/textvqa.sh: 行 4: --model-path:未找到命令

这个textvqa.sh调用了model_vqa_loader.py,并对model-path的参数进行了设置。

  • textvqa.sh中,前两行是这样的,发现正确设置的参数model-path的值

python -m llava.eval.model_vqa_loader
–model-path liuhaotian/llava-v1.5-7b \

  • model_vqa_loader.py中,传参的前即几行是这样的,确实需要model-path这个参数

if name == “main”:
parser = argparse.ArgumentParser()
parser.add_argument(“–model-path”, type=str, default=“facebook/opt-350m”)

错误是因为脚本文件中存在 Windows 风格的换行符(CRLF),但我是在 Linux 环境下运行的,Linux 需要 Unix 风格的换行符(LF)。所以有了以上解决方案,运行完那两行代码后,就可以正常实现sh文件了

sudo apt install dos2unix
dos2unix scripts/v1_5/eval/textvqa.sh

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值