Forum: Linux-Unix Programmierung
Moderatoren: juergen, Martin ConradThema: [EDIT] - Errata beim login_time script vielleicht ?
[EDIT] - Errata beim login_time script vielleicht ?
Abraham am 13.01.2011 um 13:08
Das Skript login_time hat Errata vielleicht ?
Hier habe ich es als 'deletemenow' genannt.
BILD
Hier zeigt es nicht die 'keine ueberstimmung ...' Zeile!
Und wenn ich ein falsches username schreibe, gibt es mir das zurueck
BILD
--
Beste Grüße,
Abraham
[EDIT] - Re: Errata beim login_time script vielleicht ?
icefire am 13.01.2011 um 14:23
Zitat:
Hier zeigt es nicht die 'keine ueberstimmung ...' Zeile!
Weil du zwei Parameter übergibst (zweimal 'ab'). Das erste If verhintert aber, dass das Programm ausgeführt wird, wenn die Parameteranzahl ungleich 1 ist.
Zitat:
Und wenn ich ein falsches username schreibe, gibt es mir das zurueck
TEXT![]()
Das liegt daran, dass bei grep keine passende Zeile findet, also wird nichts an set übergeben. Und wenn set ohne parameter aufgerufen wird, gibt es alle Variablen aus. Zitat Manpage set
:
Zitat:
If no options or arguments are supplied, set displays the names and values of all shell variables and functions, sorted according to the current locale, in a format that may be reused as input. When options are supplied, they set or unset shell attributes.
Ich weiß nicht warum in dem Beispiel set verwendet wird, eigentlich wollen wir ja nur Spalten aus einem Text ausschneiden, da wäre IMHO awk geeigneter.
Mögliche Änderung fürs Skript:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Verwendung $0 Username"
exit 1
fi
# Check if username can be found
TMP=`who | grep $1`
# $? is the return value of the last called programm
if [ $? -ne 0 ]; then
echo "Keine Übereinstimmung"
exit 0
fi
# Extract date and time columns
LOGIN_TIME=`echo $TMP | awk '{print $3" "$4}'`
echo "($1) login-zeit: $LOGIN_TIME"
mfg, Wolfgang
--
Hex, Bugs and Rock 'n Roll
Re: Errata beim login_time script vielleicht ?
Abraham am 13.01.2011 um 15:49
Zitat:
Weil du zwei Parameter übergibst (zweimal 'ab'). Das erste If verhintert aber, dass das Programm ausgeführt wird, wenn die Parameteranzahl ungleich 1 ist.
das hast du gelesen beim zweiten Eingabe, lies mal bitte die erste Eingabe auch..
--
Beste Grüße,
Abraham
[EDIT] - Re: Errata beim login_time script vielleicht ?
icefire am 13.01.2011 um 16:07
Zitat:
das hast du gelesen beim zweiten Eingabe, lies mal bitte die erste Eingabe auch..
Bei der ersten Eingabe rufst du das Skript ohne Parameter auf. Das entspricht auch nicht "genau einem Parameter".
mfg, Wolfgang
--
Hex, Bugs and Rock 'n Roll
[EDIT] - Re: Errata beim login_time script vielleicht ?
Abraham am 13.01.2011 um 16:36
erstmals, vielen Dank fuer den Replies und die Hilfe !
und jetzt zur Sache:
Zitat:
Bei der ersten Eingabe rufst du das Skript ohne Parameter auf. Das entspricht auch nicht "genau einem Parameter".
Genau! Sollte mit gar keinem Parameter das Skript aufrufen um auch die zweite IF condition [$# -lt 1] zu erfuellen.
--
Beste Grüße,
Abraham
