如果输入 l 字符,则把 T-> 字符串的显示位置往右移 。
输入 h 字符,则把 T-> 字符串的显示位置往左移 。
看起来是一个左右移动的效果 。
输入 q 字符,退出该游戏 。
具体执行结果如下:
$ ./tinyshell.shtinyshell> gameNOW, ATTACK! T->T->tinyshell>由于没有回显输入字符,且始终在同一行显示 T-> 字符串,所以这个打印结果体现不出 T-> 字符串的移动,可以实际执行这个脚本,多次输入 l 、h 字符,就能看到具体效果,最后输入 q 字符退出游戏 。
总结至此,我们已经使用 read 命令来获取用户输入,模拟了一个简易的 shell 效果 。
这个简易的 shell 可以执行脚本文件,可以通过上下光标键获取到 bash 的历史命令,支持输入密码不回显,还实现了一个小游戏 。
总结 read 命令的使用关键点如下:
- 使用 -p 选项来打印提示字符,模拟 shell 的命令行提示符
- 使用 -e 选项在交互式 shell 中用 readline 库读取输入,可以避免输入上下光标键显示乱码
- 使用 -s 选项指定不回显输入内容,可用于输入密码、输入游戏控制按键等情况
- 使用 -n 1 选项指定只读取一个字符,输入字符立刻结束读取,可以在游戏中快速响应按键,不用按下回车才能响应
- 使用 “while read” 循环来重定向读取文件,可以逐行读取文件内容,执行相应命令,就像是执行脚本文件
推荐阅读
- 完整版 Linux技巧:使用 bash function 命令自定义函数
- 如何在 Mac 上使用 pyenv 运行多个版本的 Python | Linux 中国
- 公司来位腾讯大牛,看完我构建的Spring MVC框架,甩给我一份文档
- Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
- Linux磁盘管理超详细
- 手把手教你安装Windows 10之完整篇
- 吃完东西就犯困?科学家解释其中原因
- 看完胎压标示图后不知道如何充气了
- 5 种拆分 Linux 终端的方法
- Linux下查看进程线程数的方法
