我在expect脚本中有以下内容

spawn cat version

expect -re 5.*.*

set VERSION $expect_out(0,string)

spawn rpm --addsign dist/foo-$VERSION-1.i686.rpm

cat命令正确获取版本,但它似乎是添加一个新行.因为我希望输出如下:

DIST /富-5.x.x-1.i686.rpm

但是我开始在下面开始包含错误:

cannot access file dist/foo-5.x.x

-1.i686.rpm

为什么期望在cat命令输出中添加一个新行,是否有任何方法可以不执行此操作或修复cat命令的输出?

解决方法:

TCL可以直接读取文件,而不会产生spawn的复杂性:

#!/usr/bin/env expect

# open a (read) filehandle to the "version" file... (will blow up if the file

# is not found)

set fh [open version]

# and this call handily discards the newline for us, and since we only need

# a single line, the first line, we're done.

set VERSION [gets $fh]

# sanity check value read before blindly using it...

if {![regexp {^5\.[0-9]+\.[0-9]+$} $VERSION]} {

error "version does not match 5.x.y"

}

puts "spawn rpm --addsign dist/foo-$VERSION-1.i686.rpm"

标签:cat,expect,linux,output,newlines

来源: https://codeday.me/bug/20190814/1650989.html

linux 行尾加字符串,linux – cat in expect脚本在字符串结尾添加新行相关推荐

  1. DataGridView动态添加新行的两种方法

    简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1. ...

  2. 转——C# DataGridView控件 动态添加新行

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...

  3. 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...

    pandas是python环境下最有名的数据统计包,而DataFrame翻译为数据框,是一种数据组织方式,这篇文章主要给大家介绍了关于python中pandas.DataFrame对行与列求和及添加新 ...

  4. python中pandas.DataFrame如何对行与列求和以及如何添加新行与列的示例

    转载 本文介绍的是python中DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧. 方法如下: 导入模块: from pandas import DataFra ...

  5. Java向word表格中添加新行并赋值

    前言: 相信大家都有过操作word文档表格的经历,对于每行数据的记录与操作是比较方便的.但这是不够的,对于一些OA项目,则需要在线打开word文档并通过后台的设置将数据添加到word表格中,甚至对表格 ...

  6. Shell实现自动添加新行

    博文背景 有时候命令的输出没有新的换行,看着很难受,如何自动添加新行呢? 具体操作 curl -fsSL https://ip.cn/api/index?type=0 | perl -nle 'pri ...

  7. Excel VBA 自动添加新行并递增ID

    Excel VBA 自动添加新行并递增ID 用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号. Sub AutoInsert()Line ...

  8. C# DataGridView控件动态添加新行

    目录 方法一: 方法二: ① DataGridView 取得或者修改当前单元格的内容: ② DataGridView 设定单元格只读: ③ DataGridView 不显示最下面的新行: ④ Data ...

  9. 批量在行首或行尾加单引号、逗号(3种方法)

    方法一:Excel使用公式: 只单纯加单引号: ="'"&A1&"'" 加单引号和逗号: ="'"&A1&& ...

最新文章

  1. 机器学习之贝叶斯垃圾邮件分类
  2. python之闭包,装饰器
  3. chr sqlserver_SQLServer常用函数对比
  4. cad怎么卸载干净_CAD无法卸载,又无法安装怎么办?
  5. javascript实现页面自动刷新和自动跳转代码
  6. SQL Server数据库
  7. AFR 去嵌 Deeembedding 软件工具
  8. php全量导出,项目中生成器应用,解决量级数据导出excel内存溢出
  9. 2022-2028年中国胰岛素行业市场调查研究及投资策略研究报告
  10. 最有效的穴位按摩减肥法
  11. android 开机动画更换,教程:如何把安卓开机动画,换成谷歌新Logo
  12. GRBL学习-GRBL参数配置
  13. 虚拟机服务器双通道和四通道,双通道和四通道区别
  14. python 关联规则
  15. Java 泛型的本质——类型擦除
  16. 理解D3中的数据连接(data join)和选取(selection)是怎么工作的
  17. 月薪20K,北漂程序员的真实生活
  18. BZOJ3631 [JLOI2014]松鼠的新家
  19. Internet Download Manager2023下载器Win系统经典下载工具
  20. Android SpringAnimation 弹簧动画

热门文章

  1. linux复制以a开头的文件,linux部分试题
  2. oracle 12c 备份pdb下数据库
  3. linux pgpgin pgpgout pswpin pswpout 说明
  4. mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
  5. 对HTTPCONNECTION的理解
  6. web工程 java中获取工程文件路径
  7. [Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析
  8. iOS中,在类的源文件(.m)中,@interface部分的作用?
  9. 监听滚动条和浏览器大小变化
  10. 纸上谈兵: 队列 (queue)