Ich bin etwas misstrauisch, wie ich den Begriff Eingabeaufforderung verwenden soll.
Ursache unbekannt.
Wenn im Terminal eine Ausgabe vorhanden ist, beginnt die neue Eingabeaufforderung kontinuierlich am Ende der Ausgabe.
# echo -n abc
abc#
(#Ist eine Eingabeaufforderung)
Im Fall von Fisch ist die Ausgabe, wenn sie 2 Zeichen oder mehr umfasst, wie oben beschrieben. Wenn es sich jedoch um 1 Zeichen handelt, bewegt sich der Cursor möglicherweise nicht oder wird überschrieben.
# echo -n a
#
(↑ Es gibt keine Ausgabe von a)
Es kann abgefangen werden, wenn das Ergebnis als ein Zeichen am Ende mit 01 oder tf im Testcode usw. ausgegeben wird.
CentOS7
# bash -version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
# fish -v
fish, version 2.5.0
# python -V
Python 2.7.5
# php -v
PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.9, Copyright (c) 2002-2016, by ionCube Ltd.
with uopz v2.0.7, Copyright (c) 2014, by Joe Watkins <[email protected]>
with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies
with strict v0.4.1, Copyright (c) 2014, by Joe Watkins <[email protected]>
with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH
Das Ausführungsergebnis ist das gleiche wie das in der Übersicht beschriebene, daher wird es weggelassen.
Shell script
vanish.sh
# -Ausgabe mit der Option n zum Entfernen des nachlaufenden Zeilenvorschubs
echo -n a
PHP
vanish.php
<?php
echo 'a';
Python
vanish.py
import sys
#Python-Druck ist der Standard-Zeilenumbruch.
sys.stdout.write('a')
Ich fühlte mich unwohl, als ich es mehrmals bewegte
<?php
echo 'a';
sleep(1);
Nach einer Weile von der Ausgabe bis zum Ende des Skripts wurde bestätigt, dass a ordnungsgemäß ausgegeben wurde. Wenn das Skript beendet ist, scheint es an der Eingabeaufforderung überschrieben zu werden.
Recommended Posts