2
我有这样的小功能:粘贴文本到终端
writecmd() {
perl -e 'ioctl STDOUT, 0x5412, $_ for split //, do{ chomp($_ = <>); $_ }' ;
}
它打印我给它的STDOUT的文本,打印它还向命令行缓冲器。
例如:
[root]$ echo "text" | perl -e 'ioctl STDOUT, 0x5412, $_ for split //, do{ chomp($_ = <>); $_ }' ;
text[root]$ text
我怎样才能使它不输出文本到stdout,但只有到CLI缓冲区?
或者更具体地说,我用它来打印一个变量,之后我使用read
来允许用户在编辑它的同时修改该变量,而不是一遍又一遍地编写它。
谢谢。
另请参见[可以bash写入自己的输入流?](http://unix.stackexchange.com/q/213799/45537) –
@HåkonHægland这真棒谢谢。但是我不明白如何消除字符串的第一个输出。 – Moshe
@HåkonHæglandbash选项也不好,因为它显示一个警告:'bind:warning:line editing not enabled' – Moshe