Ich habe diese kleine Funktion:Einfügen von Text an die Klemme
writecmd() {
perl -e 'ioctl STDOUT, 0x5412, $_ for split //, do{ chomp($_ = <>); $_ }' ;
}
Er druckt den Text ich es dem STDOUT geben, und druckt es auch in den Befehlszeilenpuffer.
Zum Beispiel:
[root]$ echo "text" | perl -e 'ioctl STDOUT, 0x5412, $_ for split //, do{ chomp($_ = <>); $_ }' ;
text[root]$ text
Wie kann ich es nicht ausgegeben der Text zu STDOUT machen, sondern nur auf den cli Puffer?
Oder genauer gesagt, ich verwende es, um eine Variable zu drucken, und danach verwende ich read
, um Benutzern zu ermöglichen, diese Variable zu ändern, während sie an Ort und Stelle statt neu zu schreiben.
Danke.
Siehe auch [Kann Bash auf seinen eigenen Eingangsstrom schreiben?] (Http://unix.stackexchange.com/q/213799/45537) –
@ HåkonHægland Das ist super danke. Aber ich habe daraus nicht verstanden, wie man die erste Ausgabe der Saite eliminieren kann. – Moshe
@ HåkonHægland die Bash-Option ist auch nicht gut, weil es eine Warnung anzeigt: 'bind: warning: Zeilenbearbeitung nicht aktiviert' – Moshe