#!/bin/bash # Name: userinfo # Zweck: Information über Bernuter # Syntax: userinfo Benutzer1 Benutzer2 Benutzer3 ... # Datum: 01.02.05 # Lernziel: 'for' Schleife, $#, $@, test, &&, grep, id, if, '!' #----------------------------------------------------------------- #if [ $# -ge 1 ]; then if ! [ $# -ge 1 ] then echo "FEHLER: Mindesten eine Parameter soll gegeben." echo "Syntax: userinfo Benutzer1 Benutzer2 Benutzer3 ..." fi #------------- Benutzer info Ausdruck ------------- for user in $@ do echo "---- Info für Benutzer '$user' --------------------" echo "/etc/passwd Zeile" grep "^$user:" /etc/passwd echo "Info von befehl 'id'" id $user # if (su -c "grep "^$user" /etc/samba/smbpasswd &>/dev/null") # then # echo "Benutzer $user ist ein SAMBA Teilnehmer" # else # echo "Benutzer $user ist kein SAMBA Teilnehmer" # fi done #------------------ 'for' mit eine Liste von dateien -------- for file in $(ls /boot); do echo "-------- Erweitert info von /boot Dateien -----" stat /boot/$file echo "-----------------------------------------------" done #---------------- Inkrementale Integer mit 'for' Schleife #lines=$(wc -l /etc/passwd) &>/dev/null let lines=$(wc -l /etc/passwd) &>/dev/null start=5 #------------ Zeile 5 bis letzte Zeile anzeigen for ((i=$start; $i<=$lines; i++)); do sed -n ${i}p /etc/passwd done #------------ Letzte Zeile bis Zeile 5 anzeigen for ((i=$lines; $i>=$start; i--)); do sed -n ${i}p /etc/passwd done for ((i=$start; $i<=$lines; i=i+2)); do sed -n ${i}p /etc/passwd done