shell脚本踩坑之一:sh文件里的换行 command not found

本文介绍了在Shell脚本中如何正确进行换行书写,强调在行尾添加反斜杠()时不应有空格。错误的换行可能导致命令未找到的错误,例如`commandnotfound`。解决此类问题的关键在于检查换行符后的空格。此外,当参数名本身是有效命令时,可能会引发其他错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell脚本有时候一行太长,想换行写,方法和python一样,非常简单,在行末加斜线\即可。

需要注意,\后面不要再有任何字符,空格也不行,不然就会换行失败,后面的内容会被认为是重新开始了一行。

比如指定GPU,换行写了

python main.py \
    --gpustart 0 \
    --gpus 2 \

如果“--gpustart 0 \”的斜线后面多了一个空格,"--gpus 2"就不会被算到"python mian.py --gpustart 0"同一行,结果就是"gpus 2"指定失败,还被认为是单独的指令。

这种东西不会自己报错说换行多了个空格啊喂,但是会提示 train.sh: line 2: --gpus: command not found

遇到这种 command not found,注意先检查是不是换行时候\加了空格。

如果非常不幸,指定参数时候,这个参数名自己就是个有效的command,那可能有别的报错,等我遇到了再来添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值