shell学习2

本文介绍了如何使用Linux的script和scriptreplay命令录制并回放终端操作,通过示例展示了如何分割文件的文件名和扩展名,以及如何进行批量重命名。此外,还讲解了如何自动化交互输入,提高终端操作效率。
摘要由CSDN通过智能技术生成

目录

一、录制并回放终端命令

二、分割文件的文件名和扩展名

三、批量重命名

四、交互输入自动化


一、录制并回放终端命令

script和scriptreplay命令

开始录制:

script -t 2> timing.log -a output.session

结束录制:

Script started 之后就可以输入你要执行的操作,这些操作都被录下来,按exit将会退出录制。

回放录制:

scriptreplay timing.log output.session

 

 需要等待一会儿,就可以看到刚刚录制时的操作了。

 两个配置文件被当做 script 命令的参数。其中一个文件(timing.log)用于存储时序信息,
描述每一个命令在何时运行;另一个文件(output.session)用于存储命令输出。 -t 选项用于将时
序数据导入 stderr 。 2> 则用于将 stderr 重定向到timing.log。
利用这两个文件:timing.log(存储时序信息)和output.session(存储命令输出信息),我们
 

通常,我们会录制桌面环境视频来作为教程使用。但是视频需要大量的存储空间,而终端脚
本文件仅仅是一个文本文件,其文件大小不过是KB级别。
你可以把timing.log和output.session文件分享给任何想在自己的终端上回放这段终端会话
的人。


二、分割文件的文件名和扩展名

分割获取文件名:

 从 file_jpg%.* 中删除位于 % 右侧的通配符所匹配的字符串。通配符从右向左进行匹配

% 属于非贪婪(non-greedy)操作。它从右到左找出匹配通配符的最短结果。还有另一个操作
符 %% ,这个操作符与 % 相似,但行为模式却是贪婪的,这意味着它会匹配符合条件的最长的字符 。看实例。

分割获取扩展名:

从 ${file_jpg#*.} 中删除位于 # 右侧的通配符(即在前例中使用的 *. )所匹配的字符串。通配
符从左向右进行匹配。

 和 %% 类似, # 也有一个相对应的贪婪操作符 ## 。


三、批量重命名

-o 是或者的意思。-iname 是指定文件名且忽略大小写 


四、交互输入自动化

 向脚本自动发送输入:

 echo -e 来生成输入序列, -e 表明 echo 会解释转义序列。如果输入内容比较多,那
么可以用单独的输入文件结合重定向操作符来提供输入:

制作输入文件时,你也可以不用 echo 命令 

 这个方法是从文件中导入交互式输入数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值