ls in bash geht nicht mehr...?!?

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von zauberer, 30.01.2005.

  1. zauberer

    zauberer Thread Starter MacUser Mitglied

    Beiträge:
    218
    Zustimmungen:
    0
    MacUser seit:
    11.01.2004
    Ich bekomme in der bash auf ls hin immer als Fehlermeldung

    Segmentation fault

    Die tcsh läuft dagegen ohne irgendwelche Probleme.

    Keine Ahnung seit wann das Problem besteht, aber es bestand nicht immer.
    Ich benutze nur selten das Terminal und modifiziere auch nichts. Habe lediglich schon ein paar Sachen mit FinkCommander geladen.
     
  2. Junior-c

    Junior-c Gast

    Ein Neustart hat auch nichts gebracht? Lösch mal die Terminal plist in ~/Library/Preferences (com.apple.Terminal.plist) und starte das Terminal neu.

    MfG, juniorclub.
     
  3. zauberer

    zauberer Thread Starter MacUser Mitglied

    Beiträge:
    218
    Zustimmungen:
    0
    MacUser seit:
    11.01.2004
    schade hat leider nichts gebracht ...

    Danke für den Tipp. Leider sind lediglich die Einstellungen zurückgesetzt.

    ls - weiterhin bei bash fehlerhaft

    unter bin habe ich ls gefunden und "doppelgeklickt" - das funktioniert!

    Fehler der bash?
     
  4. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    which ls
    (Sollte dann auch /bin/ls ergeben)

    alias | grep ls
    gibt vermutlich aus, daß simples eintippen von "ls" gar nicht "ls" bedeutet, sondern etwa sowas:

    alias ls='ls --color=auto'

    (Das ist meine Linux-Kiste... darf also bei dir was anderes sein...)
    Ebendieser Parameter könnte dafür sorgen, daß der Kram crasht. (Was er natürlich nicht sollte.)
    Kannst ja mal ausprobieren:

    unalias ls
    ls
    (Ungetestet.)

    Gruß, Ratti
     
  5. zauberer

    zauberer Thread Starter MacUser Mitglied

    Beiträge:
    218
    Zustimmungen:
    0
    MacUser seit:
    11.01.2004
    $ which ls
    /sw/bin/ls

    % which ls
    /bin/ls


    Tata! Guter Tipp. Die zweite Hälfte habe ich aber nicht gerafft.
    Soweit ich weiss, ist sw ein Verzeichniss, in dem die Finksachen abgelegt werden. Mir fällt ein, dass ich auch das TeX System mal mit dem i Installer auf die Platte gebannt hatte.

    Wie kann ich denn den Ort ändern bzw. wo ist originär belegt, wo nach dem entsprechenden Befehl gesucht werden soll. Hier scheint ja auch der Fehler zu liegen.

    Eine .term habe ich nur für mein tcsh gefunden. Muss ich jetzt eine anlegen? Wie kann der Fehler eigentlich zustande gekommen sein?
     
    Zuletzt bearbeitet: 31.01.2005
  6. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    Moin,

    Wer sagt's denn. Das is'n Unix. Da hat alles seinen Grund. :)

    Das mit dem alias? Damit kann man sich Verweise definieren. Zum Beispiel um DOS-Umsteigern alte Gewohnheiten zu ermöglichen:

    alias dir=ls

    ...dann kann man auch "dir" eintippen. Vielfach wird der Befehl genutzt, indem der Alias auf das Original verweist, aber zusätzliche Parameter anfügt. Typisches Beispiel neben dem angegebenen ls ist:

    alias rm=rm -i

    ...dann fragt "rm" immer nach, ob es eine Datei löschen darf. Machen Provider gern auf ihren Kisten.

    Gesucht wird nach Kommandos in folgenden Ordnern in ebendieser Reihenfolge:

    echo $PATH

    Den kann man an sehr vielen Orten verändern. Hast du eine ~/.bashrc oder ~/.profile?

    Oder, einfach mal:

    grep PATH ~/.*

    oder

    find ~/ -mindepth 1 -maxdepth 1 -type f -exec grep PATH "{}" \;

    Irgendwo steht vermutlich sowas in der Art:

    export PATH=/sw/bin:$PATH

    Gruß, Ratti
     
  7. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Du hattest/hast fink installiert und fink hat Dir Deine PATH Variable in der bash "verbogen".
    Nun wir das fink ls in /sw/bin schneller gefunden als das Mac OS X ls in /bin.
    Was Du jetzt am Besten machst hängt davon ab, ob Du fink noch verwenden möchtest.
    Ein erster workaround wäre:
    sudo mv /sw/bin/ls /sw/bin/ls.fink

    HTH
     
  8. zauberer

    zauberer Thread Starter MacUser Mitglied

    Beiträge:
    218
    Zustimmungen:
    0
    MacUser seit:
    11.01.2004
    ~/.bashrc oder ~/.profile habe ich nicht gefunden. Naja über die normale Suche.
    Folgende Sachen wurden ausgepuckt:


    echo $PATH
    /sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-current:/usr/X11R6/bin
    rechner:~ nutzer$ grep PATH ~/.*
    grep: /Users/nutzer/.: Operation not permitted
    grep: /Users/nutzer/..: Operation not permitted
    grep: /Users/nutzer/.Trash: Operation not permitted
    /Users/nutzer/.bash_history:pATH=/usr/TeX/bin/powerpc-darwin6.6:$PATH; export PATH
    /Users/nutzer/.bash_history:pATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH;*export*PATH
    /Users/nutzer/.bash_history:pATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH;*export*PATH
    /Users/nutzer/.bash_history:pATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH; export PATH
    /Users/nutzer/.bash_history:pATH=/usr/TeX/bin/powerpc-darwin6.6:$PATH; export PATH
    grep: /Users/nutzer/.dvdcss: Operation not permitted
    grep: /Users/nutzer/.gimp-2.0: Operation not permitted
    grep: /Users/nutzer/.gimp-2.0-etc: Operation not permitted
    grep: /Users/nutzer/.java: Operation not permitted
    grep: /Users/nutzer/.jedit: Operation not permitted
    grep: /Users/nutzer/.jpi_cache: Operation not permitted
    grep: /Users/nutzer/.lyx: Operation not permitted
    grep: /Users/nutzer/.mplayer: Operation not permitted
    grep: /Users/nutzer/.xnview: Operation not permitted

    rechner:~ nutzer$ find ~/ -mindepth 1 -maxdepth 1 -type f -exec grep PATH "{}" \;
    PATH=/usr/TeX/bin/powerpc-darwin6.6:$PATH; export PATH
    PATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH;*export*PATH
    PATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH;*export*PATH
    PATH=/usr/TeX/bin/powerpc-darwin6.3:$PATH; export PATH
    PATH=/usr/TeX/bin/powerpc-darwin6.6:$PATH; export PATH


    sudo mv /sw/bin/ls /sw/bin/ls.fink - was genau wird dabei verschoben bzw. was soll ls.fink darstellen? Und ja, ich würde gerne wieder auf fink zurück kommen. Hmm Wuselkram :rolleyes:
     
  9. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    Ich glaube nicht, daß man per Apfel-F unsichtbare Dateien findet.

    Ganz offensichtlich, /sw/bin ist im Suchpfad am höchsten priorisiert.

    Nichts sinnvolles dabei. Bitte nochmal probieren mit "/etc/" statt "~/".


    Nix Wuselkram. Steht alles im Handbuch. Damit wird die Datei umbenannt in "ls.fink", sodaß "ls" wieder die OS-X-Version aufruft. Deinen Segafault bekommst du dann stattdessen mit "ls.fink" als Befehl.

    Ich halte das nicht für sinnvoll. Dann lieber gleich "mv /sw /sw.BEISEITE", bis man das Problem geklärt hat.

    Gruß, Ratti
     
  10. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.808
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    wär es nicht einfacher das ls was in /sw/bin ist mal neu zu compilieren?
    wo immer es auch her kam ;)
     
Die Seite wird geladen...

Diese Seite empfehlen