我曾经看到过有人这样做。我有一个.txt文件,我希望逐行显示,可以通过击键进入下一行。文本的大小也可以更改。
我的档案是这样的:
001: hello world.
002: hello kitty
003: the cat in the hat
我希望bash只显示:
001: hello world.
并且以大字体显示,因此它可以像讲词提示器一样使用箭头键或" n"它会显示:
002: hello kitty
以同样的方式。
也许我在做梦,但我很确定这只是用shell脚本完成的。
答案 0 :(得分:1)
这样的事情怎么样:
#!/bin/bash
temp=
exec 10<&0
while read line || [ -n "$line" ]
do
echo "$line"
while true
do
read -s -u 10 -n 1 temp
clear
[[ $temp =~ ^n$ ]] && break
done
done < "file"
输出:
$ chmod 755 script.bash
$ cat file
001: hello world.
002: hello kitty
003: the cat in the hat
$ ./script.bash
001: hello world.
002: hello kitty
003: the cat in the hat
$
注意:您可以使用&#39; n&#39;转到下一行。只有关键。
说明:
第一次使用exec 10<&0
我已将标准输入0(键盘)复制到另一个文件描述符10
,即键盘输入现在通过10
提供给我们的程序,而不是默认0
。
然后我逐行读取文件并打印每一行。打印每一行后,我使用read
命令暂停用户输入,read
等待1个字符用户输入(-n 1
)并从键盘(-u 10
)读取,因为默认stdin fd 0
现在指向file
。读取密钥后,它会检查密钥是否为&#39; n&#39;使用正则表达式,如果是,它会突破无限循环,如果不是,它会再次循环,直到用户输入&#39; n&#39;。
至于更改字体大小,这对您的发行版/终端非常具体。您可以使用setfont
命令。可以在此处找到更多信息:https://askubuntu.com/questions/29328/how-do-i-increase-the-text-size-of-the-text-on-a-console和http://www.linuxquestions.org/questions/linux-newbie-8/bash-font-size-831366/