请问如何在终端里输入字 然后用文本软件打开显示

sh/bash/dash/ksh/zsh等Shell脚本
回复
linuxmm9
帖子: 127
注册时间: 2017-08-19 10:12
系统: linux
送出感谢: 42 次
接收感谢: 0

请问如何在终端里输入字 然后用文本软件打开显示

#1

帖子 linuxmm9 » 2019-11-15 16:03

我想在终端里输入字符 然后用文本图形软件来显示 请问怎么该怎么做
头像
astolia
论坛版主
帖子: 4178
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 697 次

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#2

帖子 astolia » 2019-11-15 17:35

一般的文本编辑器不会设计这种功能。
如果只是想用图形界面显示出来,最简单的就是用zenity。先运行起来

代码: 全选

zenity --text-info
然后你终端里输入一行,它就会显示一行
如果要一个字一个字地显示,在运行zenity之前设置一下终端模式

代码: 全选

stty raw
这些用户感谢了作者 astolia 于这个帖子:
linuxmm9 (2019-11-16 13:16)
评价: 3.7%
linuxmm9
帖子: 127
注册时间: 2017-08-19 10:12
系统: linux
送出感谢: 42 次
接收感谢: 0

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#3

帖子 linuxmm9 » 2019-11-16 10:08

astolia 写了:
2019-11-15 17:35
一般的文本编辑器不会设计这种功能。
如果只是想用图形界面显示出来,最简单的就是用zenity。先运行起来

代码: 全选

zenity --text-info
然后你终端里输入一行,它就会显示一行
如果要一个字一个字地显示,在运行zenity之前设置一下终端模式

代码: 全选

stty raw
谢谢astolia 不过我不是这个意思 我想做的是在终端里输入字符然后用指定的文本软件(比如mousepad)打开并显示
头像
astolia
论坛版主
帖子: 4178
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 697 次

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#4

帖子 astolia » 2019-11-16 12:12

为什么先不写到临时文件再用文本编辑器打开那个文件呢?

代码: 全选

TMPFILE=`tempfile`
echo abcdefg > $TMPFILE
mousepad $TMPFILE

如果你要边输入边显示,我上面已经说过了,一般的文本编辑器不会设计这种功能,只有自己去修改mousepad的代码添加功能。如果你愿意去学习gtk编程的话,也不算太难
这些用户感谢了作者 astolia 于这个帖子:
linuxmm9 (2019-11-16 13:16)
评价: 3.7%
linuxmm9
帖子: 127
注册时间: 2017-08-19 10:12
系统: linux
送出感谢: 42 次
接收感谢: 0

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#5

帖子 linuxmm9 » 2019-11-16 13:15

astolia 写了:
2019-11-16 12:12
为什么先不写到临时文件再用文本编辑器打开那个文件呢?

代码: 全选

TMPFILE=`tempfile`
echo abcdefg > $TMPFILE
mousepad $TMPFILE

如果你要边输入边显示,我上面已经说过了,一般的文本编辑器不会设计这种功能,只有自己去修改mousepad的代码添加功能。如果你愿意去学习gtk编程的话,也不算太难
谢谢 我就是这个意思 写到临时文件我也想过 只是我以为还有其他办法
头像
fudaming
帖子: 36
注册时间: 2005-09-09 20:42
系统: ubuntu18.04 &manjaro
送出感谢: 1 次
接收感谢: 0

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#6

帖子 fudaming » 2019-11-26 23:25

变一个思路,如果只要显示的话,其实让图形的文本编辑器定时刷新就好。终端还是一直编辑一个临时文件。
不好搞的是缓冲区,终端编辑完从缓冲区定时写进临时文件。

会有延迟,相对来讲容易实现。
头像
careone
帖子: 827
注册时间: 2007-12-17 21:41
送出感谢: 74 次
接收感谢: 25 次

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#7

帖子 careone » 2019-12-04 11:03

1. 用管道 实现

echo "abc" | leafpad

2. 用 cat 命令和 EOF 字符实现

cat > abc.txt <<EOF
> ASD;FK
> ASDFASF
> ASDFSA
> EOF

最后一行输入大写的 EOF ,会自动结束,并保存到文件 abc.txt

再用文本编辑器打开文件 abc.txt 即可
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
头像
astolia
论坛版主
帖子: 4178
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 697 次

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#8

帖子 astolia » 2019-12-04 11:47

careone 写了:
2019-12-04 11:03
1. 用管道 实现

echo "abc" | leafpad
leafpad还支持这样,不错
linuxmm9
帖子: 127
注册时间: 2017-08-19 10:12
系统: linux
送出感谢: 42 次
接收感谢: 0

Re: 请问如何在终端里输入字 然后用文本软件打开显示

#9

帖子 linuxmm9 » 2019-12-04 15:05

careone 写了:
2019-12-04 11:03
1. 用管道 实现

echo "abc" | leafpad

2. 用 cat 命令和 EOF 字符实现

cat > abc.txt <<EOF
> ASD;FK
> ASDFASF
> ASDFSA
> EOF

最后一行输入大写的 EOF ,会自动结束,并保存到文件 abc.txt

再用文本编辑器打开文件 abc.txt 即可
我就是想用管道来做,但是我用的mousepad显示不了字符,没想到leafpad居然可以!!
回复

回到 “Shell脚本”