bash: echo etwas an rechten Ende der Fenster (nach rechts ausgerichtet)
Ich bin auf der Suche für die Herstellung von Erfolg/scheitern-Nachrichten, die Rechtsbündig in der bash. Ein Beispiel wäre das was für apache2 produziert, Ausführung: sudo /etc/init.d/apache2 reload
etc.
Im obigen Beispiel apache2 produziert sehr schöne und prägnante [OK]
oder [fail]
Nachricht, die rechts ausgerichtet.
Auch, würde gerne wissen, wie man den text in rot, für den Fall, wir produzieren eine [fail]
Nachricht.
- Verwenden Sie printf; siehe stackoverflow.com/questions/2199843/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
tput
verwendet. Auch, Ihre Methode isst extra Raum für die Farbe entweicht, die eigentlich gar nicht nehmen jeden Raum.printf '%s%*s%s' "$GREEN" $col '[OK]' "$NORMAL"
könnte sauberer sein.tput cols
und auchtput cup
weil die ehemaligen nicht geben Ihnen die Flexibilität, um die Spalte angeben (es kann nicht am besten Aussehen, auf den haarigen Rand) und letzteres erfordert die Zeile #.tput hpa
für das letztere.%s
printf aß Platz auf die non-printable chars. So, obwohl ich denke, dass die Weise, die ich hatte, es war einfacher zu Lesen, deine Art ist mehr richtig und ich werde es ändern. Dank%*s
isst, Raum;printf
davon ausgegangen, dass jeder Charakter in die entsprechende string wird nehmen Sie Platz im Feld und rechts zu rechtfertigen als solche; es hat kein Konzept von escape-Sequenzen über\n
etc. (und nicht berücksichtigen, auch diejenigen, die im EDV-Bereich breiten).Haben Sie einen Blick auf diesen thread, interessant sein könnte : wie schreiben Sie ein bash-Skript, wie diejenigen, die in init.d?
Auf Linux CentOS 6.5, ich bin mit dem /etc/init.d/functions Datei:
vorausgesetzt
command
zurück0
auf Erfolg, positiver Wert, wenn ein Fehler Auftritt.Um das Skript leicht zu Lesen sein, verwende ich eine Funktion aufrufen, anstatt den ganzen Befehl.
Hier ist ein Beispiel:
resultieren in:
(Hinweis : Gebietsschema "Französisch"; -) )
Hoffe, es hilft !
/etc/init.d/functions
ändert die$PATH
.Hier ist etwas, meistens basiert auf der centos 'Funktionen' - Skript, sondern eher abgespeckte