当前位置: 代码迷 >> 综合 >> shell脚本踩坑之一:sh文件里的换行 command not found
  详细解决方案

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

热度:78   发布时间:2024-02-27 22:24:45.0

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,那可能有别的报错,等我遇到了再来添加

  相关解决方案