.bashrc

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
jochensmile
Beiträge: 61
Registriert: 04.12.2007 09:53:55

.bashrc

Beitrag von jochensmile » 23.04.2008 13:23:05

Hallo,

wie kann ich mir beim Anmelden eine Ausgabe auf dem Bildschirm erzeugen.

Beispiel.

Guten Herr Martin sie sind auf dem Server x angemeldet mit der IP 192.168.60.1

Danke
Mit freundlichen Grüssen jochensmile

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: .bashrc

Beitrag von Natureshadow » 23.04.2008 14:32:37

Hallo,

das wird normalerweise über /etc/motd geregelt. Die .bashrc ist meiner Meinung nach ungeeignet, da sie für jeden Benutzer einzeln erstellt werden müsste. Das wäre noch nicht das Problem, wenn man sie in /etc/skel packt. Aber sie wäre auch von den Benutzern änderbar ...

Grüße,
Nik

jochensmile
Beiträge: 61
Registriert: 04.12.2007 09:53:55

Re: .bashrc

Beitrag von jochensmile » 23.04.2008 14:50:46

Hallo,

danke, sorry aber wie schreibe ich das in Datei?

lg
Mit freundlichen Grüssen jochensmile

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: .bashrc

Beitrag von cosmac » 23.04.2008 14:53:28

hi,

funktionieren in /etc/motd Ersetzungen wie in /etc/issue?
Man kann es aber in /etc/profile einfügen, das wird beim Login
abgearbeitet. Knifflig ist aber die richtige Anrede, woher soll
das Script die bekommen?

Wenn die Server (nur) das lokale /etc/passwd nutzen, steht da
traditionell auch der volle Name drin (im gecos-Feld). Man könnte
die Anrede da mit reinschreiben oder, auch nett, Vorname und
Name ohne Anrede verwenden.

Dann könnte das ungefähr so aussehen:

Code: Alles auswählen

#!/bin/sh

case "$(date +%H)" in
   0|1|2|3|4|5|6|7|8|9)
      TIME="Morgen"
      ;;
   18|19|20|21|22|23|24)
      TIME="Abend"
      ;;
   *)
      TIME="Tag"
      ;;
esac
NAME="$(grep ^$(whoami): /etc/passwd | cut -d ':' -f 5 | cut -d ',' -f 1)"
HOST="$(hostname -s)"
IP="$(hostname -i)"

echo "Guten $TIME $NAME,"
echo "sie sind auf dem Server $HOST angemeldet mit der IP $IP"
damit der Text auch in 72 Spalten passt, würde ich
ihn zweizeilig ausgeben.
Beware of programmers who carry screwdrivers.

jochensmile
Beiträge: 61
Registriert: 04.12.2007 09:53:55

Re: .bashrc

Beitrag von jochensmile » 23.04.2008 15:10:29

Hi,

supper vielen dank.

lg :D
Mit freundlichen Grüssen jochensmile

jochensmile
Beiträge: 61
Registriert: 04.12.2007 09:53:55

Re: .bashrc

Beitrag von jochensmile » 25.04.2008 11:51:32

Hallo,

das hat irgendie nicht hingehauen.

ich fügte folgendes in die .bashrc

Code: Alles auswählen


if [ -e ~/.modt-login ]; then
     cat ~/.modt-login
          fi

dann erstellte ich eine Datei modt-login


#!/bin/sh

case "$(date +%H)" in
   0|1|2|3|4|5|6|7|8|9)
      TIME="Morgen"
      ;;
   18|19|20|21|22|23|24)
      TIME="Abend"
      ;;
   *)
      TIME="Tag"
      ;;
esac
NAME="$(grep ^$(whoami): /etc/passwd | cut -d ':' -f 5 | cut -d ',' -f 1)"
HOST="$(hostname -s)"
IP="$(hostname -i)"

echo "Guten $TIME $NAME,"
echo "sie sind auf dem Server $HOST angemeldet mit der IP $IP"
Bei Anmelden wird diese aber nicht ausgeführt?

Ich stehe heute echt auf dem Schlauch. 8O
Mit freundlichen Grüssen jochensmile

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: .bashrc

Beitrag von Natureshadow » 25.04.2008 15:03:43

Wo liegen die Dateien denn? Und wieso willst du den Scriptcode ausgeben, anstatt ihn auszuführen?

-nik

jochensmile
Beiträge: 61
Registriert: 04.12.2007 09:53:55

Re: .bashrc

Beitrag von jochensmile » 28.04.2008 09:37:39

Hallo,

danke ich habe es hinbekommen und zwar haben die Rechte der Datei nicht gestimmt.

nun klappts..

danke :)

LG
Mit freundlichen Grüssen jochensmile

Antworten