【Bash】记录一个长命令换行的BUG

这篇具有很好参考价值的文章主要介绍了【Bash】记录一个长命令换行的BUG。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

假设现在我要在terminal执行如下命令跑模型:

CUDA_VISIBLE_DEVICES=6 python finetune.py -c configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 --data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.tar --quant-firstlast --wq-per-channel

由于这个命令太长了,有这样一些问题:1. 改起来不方便,2. 没法存档,3. 不方便在之前命令的基础上修改后并行跑模型。

于是,很自然想到,把这个命令写在run.sh文件中,然后每次只需要如下命令就可以跑了:

bash ./run.sh

所以,这个长命令可以写成这样一个 带换行 的sh文件,可读性和可修改性高了很多:

CUDA_VISIBLE_DEVICES=6 python finetune.py -c \
configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 \
--data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.tar \
--quant-firstlast --wq-per-channel

接下来,就是我踩坑的地方了!

  1. Bash中不要随意加注释!
    我在改命令时,做了这样一个修改(第3行中留了个之前路径的注释):
    CUDA_VISIBLE_DEVICES=6 python finetune.py -c \
    configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 \
    --data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.tar \  # old file path
    --quant-firstlast --wq-per-channel
    
    于是,报错:识别不到最后一行的参数了。
  2. Bash中换行一定要在行末加换行符 \ !
    我在改命令时,做了这样一个修改(删掉了第3行末尾的换行符 \):
    CUDA_VISIBLE_DEVICES=6 python finetune.py -c \
    configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 \
    --data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.tar
    --quant-firstlast --wq-per-channel
    
    于是,相当于最后一行参数就被独立出去了,也没法传进程序了。

当然,还有一种混合的错误写法(第3行既没有换行符 \,也多了注释):

CUDA_VISIBLE_DEVICES=6 python finetune.py -c \
configs/quantized/resnet32_cifar100_finetune.yml --model resnet32 \
--data-dir ~/datasets --apex-amp --initial-checkpoint /home/zwx/projects/hawq/resnet32.pth.tar # old file path
--quant-firstlast --wq-per-channel

显然错误!

最后,小结一句:在用bash写长命令时,可以分行,但是分行要带换行符 \,并且不要随意用注释,会导致后面的参数无法传入。实在不会的话,在bash里放不换行的长命令就行。文章来源地址https://www.toymoban.com/news/detail-719877.html

到了这里,关于【Bash】记录一个长命令换行的BUG的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium通过xpath定位text换行的元素

    DOM元素(该元素是换行的,不能通过普通xpath定位):  可使用下面xpath定位该div 解释一下就是:定位“ 子节点的text是[5] 且 子节点弟弟的text是[点] ”的div

    2024年02月11日
    浏览(45)
  • chatgpt赋能python:Python怎么取出换行的数据?

    在数据分析和处理中,我们常常需要从文件中读取数据,特别是当数据量很大时更是如此。在Python中,读取文本文件中的数据很简单,但是有时候读取的文本文件中可能含有换行符,这可能会给数据处理造成麻烦。因此,本篇文章将介绍如何使用Python取出换行符的数据,以便

    2024年02月08日
    浏览(28)
  • 记录一个诡异的bug

    将对接oa跳转到会议转写的项目oa/meetingtranslate项目发布到天宫,结果跳转到successPage后报错 这一看就是successPage接口名没对上啊,查了一下代码,没问题啊。 小心起见,我就把successPage的方法请求方式从Post改为Get和POST都可以 发布到测试环境,发现测试环境也报错,也报同样

    2024年02月11日
    浏览(36)
  • 记录一个heatmap.js在strict模式下的bug

    ImageData的data属性只读,无法修改 出问题的在原始代码的490行~528行 重点在于527行的img.data = imgData 由于ImageData对象的data属性是只读属性,因此在严格模式下会报错的 知道问题出在哪儿了,就可以修改了, npm add heatmap.js后 node modules/heatmap.js/build里面,heatmap.js,heatmap.min.js两个都

    2024年02月13日
    浏览(26)
  • History命令解释,及一个相关的bash脚本(如何编写脚本程序从记录文件中提取history命令)

    目                录 一、history命令介绍 1、history命令是什么? 2、history的主要功能 二、history命令的用法 1、语法 2、选项说明 3、命令实例 三、history和历史记录文件bash_history 四、history命令的相关配置 1,命令带时间展示-HISTTIMEFORMAT 2,命令行数大小-HISTSIZE 3、设置命令保

    2024年01月23日
    浏览(73)
  • Vela-OS: 记录一个class层,处理MSC协议的bug

    1. 源文件 nuttxdriversusbdevusbmsc_scsi.c 2. 问题描述 对于INQUIRY指令,长度一般是6个字节,cdblen字段嵌入在CBW数据包中,如下: 命令阶段的CBW数据包: 55 53 42 43  60 2a c0 8b  24 00 00 00  0x80 0x0 [06] 12 ... 但是HOST也有可能下发12字节,比如在格式化盘符的时候: 命令阶段的CBW数据包:

    2024年04月16日
    浏览(20)
  • 记录关于智能家居的路程的一个bug___Segmentation fault(段错误)

    其实发生段错误的情况有很多: 其实在项目的开发中最有可能的错误就是①和②,考虑到本项目数组用的比较少,所以主要是考虑错误①指针的误用。 有时候错误就是那么离谱,声音也算是一种设备????? 有时候又没有段错误 怀疑是多线程的问题,把线程一个一个注释

    2024年04月15日
    浏览(24)
  • HTML元素中有中文、英文、符号、数字。第一行没排满就自动换行的解决办法:word-break:break-all的使用

    word-break: break-all 是一个CSS属性,用于控制文本在容器中的换行方式。它的作用是强制在任意字符之间进行换行,即使这样可能会导致单词被分割。 具体来说, word-break 属性有以下几个取值: normal (默认值):默认的换行行为。单词不会被分割,会根据容器的宽度自动换行。

    2024年02月15日
    浏览(33)
  • 记录一个IDEA中使用GIT的严重BUG,导致测试分支合并到主分支,以及代码恢复解决方案

    在做项目时遇到了一个问题,就是不知道什么操作,无缘无故把test分支代码合并到了master,导致花了好长时间去恢复master分支的代码,所以研究了一下,到底是什么原因导致的这个问题 PS: 后来分析出来根本原因,确定这确实是IDEA的一个BUG,在下面会有详细描述 当我们在test分支时,

    2023年04月14日
    浏览(35)
  • 【python】制作一个简单的界面,有手就行的界面~

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! ttkbootstrap 是一个基于 tkinter 的界面美化库, 使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序。 ttkbootstrap 不仅有丰富的案例,同时还有完善的官方文档,可惜是英文的。 不过对于程序员来说,只要用好翻译软件与提

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包