Ich habe ein Standard-Banner, das ich für alle meine Server verwende, und ich habe sie normalerweise von Hand eingegeben, aber da meine Flotte von Servern wächst, ist es Zeit, dies zu automatisieren.Wie zentriert man eine Textzeile in einer festen Breite?
Typischerweise sollte mein Banner wie folgt aussehen:
*****************************************************************
* .:Welcome to hostname.internal.mynet.net:. *
* *
* This is a private server maintained by and exclusively for *
* use by me. No authorization is given or granted to any party *
* unless explicit permission is given. Attempts to circumvent, *
* disable, or otherwise interfere with normal operation will be *
* prosecuted to the fullest extent of applicable laws. *
* *
* UNAUTHORIZED ACCESS PROHIBITED *
*****************************************************************
Dies ist der gewünschte Effekt, aber meine Host-Namen sind Zeichen unterschiedlicher, so dass es nicht formatiert werden manchmal nicht richtig, zum Beispiel:
*****************************************************************
* .:Welcome to somelongrandomhostname.internal.mynet.net:. *
* *
* This is a private server maintained by and exclusively for *
* use by me. No authorization is given or granted to any party *
* unless explicit permission is given. Attempts to circumvent, *
* disable, or otherwise interfere with normal operation will be *
* prosecuted to the fullest extent of applicable laws. *
* *
* UNAUTHORIZED ACCESS PROHIBITED *
*****************************************************************
und wenn ein kürzerer Host-Name:
*****************************************************************
* .:Welcome to abc.internal.mynet.net:. *
* *
* This is a private server maintained by and exclusively for *
* use by me. No authorization is given or granted to any party *
* unless explicit permission is given. Attempts to circumvent, *
* disable, or otherwise interfere with normal operation will be *
* prosecuted to the fullest extent of applicable laws. *
* *
* UNAUTHORIZED ACCESS PROHIBITED *
*****************************************************************
Der entsprechende Code, den ich in meinem Skript verwenden zu erzeugen, ist dies:
# banner
echo "
*****************************************************************
* .:Welcome to $hostname.internal.mynet.net:. *
* *
* This is a private server maintained by and exclusively for *
* use by me. No authorization is given or granted to any party *
* unless explicit permission is given. Attempts to circumvent, *
* disable, or otherwise interfere with normal operation will be *
* prosecuted to the fullest extent of applicable laws. *
* *
* UNAUTHORIZED ACCESS PROHIBITED *
***************************************************************** " > banner
Ich bin nicht sicher, wie oder was als das beste Tool zu verwenden, um das Banner genau zu erzeugen, wie im ersten Beispiel vorgesehen, unabhängig von der Länge des Hostnamen? Auf der Suche nach Ideen sollte der "Rahmen" (wie durch die Sternchen gekennzeichnet) ein fester Wert sein.
Sie können berechnen, wie viele Leerzeichen Sie mit '$ {# hostname}' beginnen möchten. –