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. 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....
  2. 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...
  3. 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...
  4. Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen

    Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen: Ich mache gerade meine ersten Schritte mit Linux und würde gerne auf Dateien meines Linuxsystems auch mit Windows zugreifen, ich bin am...
  5. Virtualboxproblem

    Virtualboxproblem: Hallo Folgnedes Problem: Ich kann ohne Probleme In Debian-Sid, 64Bit und virtualbox-dkms Unixoide installieren, wenn es sich um eine...