bash:一次从一个字符串中读取文本,带有空格
发布时间:2020-12-16 01:34:55 所属栏目:安全 来源:网络整理
导读:我很无聊,并决定使用bash编写一个基于文本的冒险脚本.基本上,它应该在某些情况下为打字机制作动画,以进行戏剧性的叙事.我可以在这样的文件中手动执行此操作: sleep 0.1 echo -n "h"sleep 0.1 echo -n "e"sleep 0.1 echo -n "l"sleep 0.1 echo -n "l"sleep 0
我很无聊,并决定使用bash编写一个基于文本的冒险脚本.基本上,它应该在某些情况下为打字机制作动画,以进行戏剧性的叙事.我可以在这样的文件中手动执行此操作:
sleep 0.1 echo -n "h" sleep 0.1 echo -n "e" sleep 0.1 echo -n "l" sleep 0.1 echo -n "l" sleep 0.1 echo -n "o" 你可以想象,这是非常乏味的.相反,我想一次从字符串(或文件)中提取一个字符,并将sleep命令应用于每个字符. 到目前为止,我有以下内容,从文件中读取. IFS =允许空格保留,但不允许任何其他类型的空格(例如换行符). IFS= while read -n1 achar do echo $achar done < aFile 有没有办法可以用它来获取所有空格?作为一个额外的问题,你能告诉我如何将它应用于用户定义的脚本,所以我不必从单独的文件中读取?所以,例如,假设我有一个名为“hello”的字符串,只要我在bash终端运行我的文件,我就可以简单地将它传递给我的函数作为打字机动画. 任何帮助,将不胜感激.谢谢!
怎么样
#!/bin/bash function typewriter { text="$1" delay="$2" for i in $(seq 0 $(expr length "${text}")) ; do echo -n "${text:$i:1}" sleep ${delay} done } typewriter "Typewriters are cool." .1 echo # <-- Just for a newline (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – Angular2 $location.search()等价物(设置查询
- 是否有可能在Haskell中创建一个类似Scala 2.8的集合api?
- scala – 函数在其参数类型中是逆变的,在返回类型中是共变量
- 在vsplit中打开可编辑文件,但在vimscript中保持原始位置
- MySQL高可用数据库内核深度优化的四重定制
- angularjs – Angular-ui D3:如何实现上下文菜单(popover
- Dockerfile 中的 multi-stage(多阶段构建)
- docker无法启动容器… cpu.shares:没有这样的文件或目录
- BootStrap 获得轮播中的索引和当前活动的焦点对象
- bootstrap-datetimepicker添加支持显示农历节假日信息。