Problem Linux<->Solaris bei Shell Skript

Diskutiere Problem Linux<->Solaris bei Shell Skript im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi Leute Ich habe folgendes Shell Skript geschrieben, es funktioniert auch wunderbar (unter Linux -> Bash). #!/usr/local/gnu/bin/bash...

  1. Thomy

    Thomy Jungspund

    Dabei seit:
    20.10.2005
    Beiträge:
    21
    Zustimmungen:
    0
    Hi Leute

    Ich habe folgendes Shell Skript geschrieben, es funktioniert auch wunderbar (unter Linux -> Bash).

    Code:
    #!/usr/local/gnu/bin/bash
    check_username() {
    checkuser=$1
    echo "checked user: $checkuser"
    if [ $NIS_MODE -eq "1" ]
        then
        if [ `cat $PASSWD | awk -F: '{print $1}' | $GREPCMD ^"$checkuser"$ | wc -l` -gt "0" ]
        then
    echo "1"
            return "1"
        else
    echo "0"
            return "0"
        fi
    
    Wenn ich das aber unter Solaris (5.7 mit der tcsh Shell) ausführe, gibt es folgende Fehlermeldung:

    checked user: stather
    UserMan2.sh: stather$: not found
    0
    Kein Benutzer gefunden
    Usage: grep [OPTION]... PATTERN [FILE]...
    Try `grep --help' for more information.


    ich verstehe das nicht, an was kann das denn liegen? Solaris verwendet zur Interpretation des Skriptes ja auch die Bash, auch die Version von Grep ist gleich. Und wenn ich nur auf der Solaris Shell:
    Code:
    set checkuser="stather"
    cat $PASSWD | awk -F: '{print $1}' | $GREPCMD ^"$checkuser"$ | wc -l
    
    eingebe, bekomme ich auch die 1 raus.



    Gruß Thomy
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 tr0nix, 04.12.2007
    Zuletzt bearbeitet: 04.12.2007
    tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Wrong use of so ziemlich jedem überflüssigen Kommando :).
    Code:
    awk -F: '
            BEGIN {nr=0}
    
            /'$USER':/ {
                    nr++
            }
    
            END {
                    print nr
            }' /etc/passwd
    
    ... oder noch einfacher ...
    Code:
    egrep -c "^$USER:" /etc/passwd
    Du kannst natürlich auch alles auf eine Zeile machen. Das funktioniert garantiert unter Solaris (SunOS 5.10 jedenfalls läufts) und unter Linux sollte das auch klappen. Noch einfacher wäre übrigens, nach dem egrep/awk Kommando einfach ein "return $$" zu machen, sollte das gleiche rauskommen und du sparst die ganze if/then/else Syntax.

    P.S. pipen ist schön und gut, es funktioniert ja auch prima unter Unix, nur hast du bei deinem Beispiel oben 4 Programme die vom OS gespawnt werden müssen während meines nur jeweils einen Prozess spawnt. Bei einem Multiusersystem unter Last, können solche Scripte - sollten sie regelmässig ausgeführt werden - das System ziemlich belasten.
     
Thema:

Problem Linux<->Solaris bei Shell Skript

Die Seite wird geladen...

Problem Linux<->Solaris bei Shell Skript - Ähnliche Themen

  1. Problem bei der installation einer Sun Netzwerkkarte

    Problem bei der installation einer Sun Netzwerkkarte: Guten Morgen zusammen, beim installieren einer zusätzlichen Netzwerkkarte habe ich ein Problem. Die Karte wird nicht automatisch installiert. Es...
  2. Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe

    Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe: Liebe Community, zurzeit arbeite ich an eine Active Directory Domäne die mittels Samba läuft. Dazu habe ich einen AD DC auf Debian 8.7 mit Samba...
  3. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....
  4. Verständnisproblem Samba / LDAP

    Verständnisproblem Samba / LDAP: Hallo zusammen! Ich habe unter Ubuntu 16.04 einen LDAP und Samba Server aufgesetzt. Diese scheinen auch ordnungsgemäß zu funktionieren, sodaß ich...
  5. nginx+php-fpm problem

    nginx+php-fpm problem: Moin, ich hab hier gerade ein Problem und keine Idee mehr woran es liegt. Ich muss wie schon in der Überschrift erwähnt nginx dazu bringen php...