目录
一、录制并回放终端命令
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 命令
这个方法是从文件中导入交互式输入数据。