find in cygwin-Umgebung ...

  • Hallo,

    gibt es hier auch Experten zu cygwin? Ich habe folgendes Problem:

    Code
    + find --help
    FIND: Parameterformat falsch
    + cd /etc
    + find .
    FIND: Parameterformat falsch
    + find /etc
    FIND: Ungültige Option

    aber nur wenn das Script über cron gestartet wird. Bei Aufruf auf der Komandozeile ist alles fehlerfrei.

    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • ich habs gefunden ...

    die PATH-Variable ist bei den mit cron gestarteten Scripten anders, so daß das Windows-Find ausgeführt wird.

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Hi,

    kleiner Tip: Man sollte generell in cron gesteuerten Scripten und Befehlen mit vollen Pfaden arbeiten, da die Cronumgebung teilweise sehr rudimentaer sein kann, auch und gerade auf Linux und "richtigen" Unices wie Solaris oder HP-UX ...

    Ausserdem schliesst man so aus, dass ein Alias statt eines Binaries benutzt wird - so ist z,B, oft ein rm als /bin/rm -i gealiast (schreibt man das so?) und fragt dann jedesmal beim Loeschen, ob man das wirklich will - nix Neues fuer Windowsuser, aber in Scripten unerwuenscht...

    Also - am besten /usr/bin/find statt find benutzen...

    Gruss

    /elle

    Meine VDRs

    client1: Pentium G530 auf AsRock B75M-GL, 4GB RAM, easyVDR 2
    client2: ZBox HD-ID11, 2GB RAM, 250GB HDD, easyVDR 2
    server: AsRock Q1900M, 8GB RAM, 1x2TB + 1x1TB HDD, Debian Jessie + e-tobi, z.Zt. 2x TT3600 USB, da beide Skystar 2 kaputt gegangen sind :§$%
    experimental: Raspberry Pi 2, MLD 5
    ab und zu: Dell M6800, 16GB RAM, Debian Jessie + e-tobi oder KODI via VNSI
    ab und zu: HP ZBook 15, 32GB RAM, Debian Jessie + e-tobi oder KODI via VNSI
    ab und zu: Nexus 5 mit KODI via VNSI
    ab und zu: Amazon FireTV mit KODI via VNSI

  • Ich hab es mir zur Gewohnheit gemacht solche Scripte etwa so anzufangen:

    Bash
    #!/bin/sh
    
    
    export PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome2/bin:/opt/gnome/bin:/opt/kde3/bin:/opt/kde2/bin:/usr/lib/java/bin:/opt/gnome/bin
    
    
    export USER=root
    export HOME=/root

    Den Pfad ermittle ich in einer Shell (echo $PATH). Weitere Umgebungsvariablen lassen sich auch schön mir set ermitteln. So hab ich in den Scripten eigentlich eine Umgebung wie in einer login-shell.

  • Hi,

    wenn Deine shell eine bash ist, solltest Du sie aber sicherheitshalber im Hashbang (#!) auch so aufrufen - sonst koennte es - falls Du die scripte auf mehreren Systemen benutzen solltest oder sie weitergeben moechtest - u.U. zu unliebsamen Nebeneffekten kommen, da vielleicht eine andere als /bin/sh verlinkt ist, oder sogar tatsaechlich eine klassische Bourneshell installiert ist. Die kann naemlich z.B. nicht in einem Befehl eine Variable setzen und exportieren, sondern verlangt

    Code
    PATH=/usr/bin:/usr/local/bin:/und/so/weiter
    export PATH


    Also lieber

    Bash
    #!/bin/bash


    schreiben ...

    Gruss

    /elle

    Meine VDRs

    client1: Pentium G530 auf AsRock B75M-GL, 4GB RAM, easyVDR 2
    client2: ZBox HD-ID11, 2GB RAM, 250GB HDD, easyVDR 2
    server: AsRock Q1900M, 8GB RAM, 1x2TB + 1x1TB HDD, Debian Jessie + e-tobi, z.Zt. 2x TT3600 USB, da beide Skystar 2 kaputt gegangen sind :§$%
    experimental: Raspberry Pi 2, MLD 5
    ab und zu: Dell M6800, 16GB RAM, Debian Jessie + e-tobi oder KODI via VNSI
    ab und zu: HP ZBook 15, 32GB RAM, Debian Jessie + e-tobi oder KODI via VNSI
    ab und zu: Nexus 5 mit KODI via VNSI
    ab und zu: Amazon FireTV mit KODI via VNSI

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!