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

zauberer

Mitglied
Thread Starter
Mitglied seit
11.01.2004
Beiträge
220
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.
 
J

Junior-c

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.
 

zauberer

Mitglied
Thread Starter
Mitglied seit
11.01.2004
Beiträge
220
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?
 

ratti

Aktives Mitglied
Mitglied seit
09.05.2004
Beiträge
1.521
zauberer schrieb:
unter bin habe ich ls gefunden und "doppelgeklickt" - das funktioniert!

Fehler der bash?
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
 

zauberer

Mitglied
Thread Starter
Mitglied seit
11.01.2004
Beiträge
220
$ 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:

ratti

Aktives Mitglied
Mitglied seit
09.05.2004
Beiträge
1.521
Moin,

zauberer schrieb:
$ which ls
/sw/bin/ls

% which ls
/bin/ls


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

zauberer schrieb:
Die zweite Hälfte habe ich aber nicht gerafft.
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.

zauberer schrieb:
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?
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
 

maceis

Aktives Mitglied
Mitglied seit
24.09.2003
Beiträge
16.876
zauberer schrieb:
$ which ls
/sw/bin/ls

% which ls
/bin/ls

...
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
 

zauberer

Mitglied
Thread Starter
Mitglied seit
11.01.2004
Beiträge
220
~/.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:
 

ratti

Aktives Mitglied
Mitglied seit
09.05.2004
Beiträge
1.521
zauberer schrieb:
~/.bashrc oder ~/.profile habe ich nicht gefunden. Naja über die normale Suche.
Ich glaube nicht, daß man per Apfel-F unsichtbare Dateien findet.

zauberer schrieb:
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
Ganz offensichtlich, /sw/bin ist im Suchpfad am höchsten priorisiert.

zauberer schrieb:
rechner:~ nutzer$ grep PATH ~/.*
Nichts sinnvolles dabei. Bitte nochmal probieren mit "/etc/" statt "~/".


zauberer schrieb:
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:
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
 

oneOeight

Aktives Mitglied
Mitglied seit
23.11.2004
Beiträge
55.191
wär es nicht einfacher das ls was in /sw/bin ist mal neu zu compilieren?
wo immer es auch her kam ;)
 

maceis

Aktives Mitglied
Mitglied seit
24.09.2003
Beiträge
16.876
ratti schrieb:
Ich glaube nicht, daß man per Apfel-F unsichtbare Dateien findet.
Das kann man einstellen
btw.
Im Benutzerhanduch von fink wird erklärt, wie man für die bash eine ~/.profile erstellt.
http://fink.sourceforge.net/doc/users-guide/install.php?phpLang=de
Vielleicht hilft das sich zu erinnern.
ratti schrieb:
...
Ganz offensichtlich, /sw/bin ist im Suchpfad am höchsten priorisiert.
fink macht das so; eigentlich keine schöne Sache
ratti schrieb:
...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.
Oder rm -f /sw ;)
Nein im Ernst: ich sagte "erster workaround" da ich nicht wusste, was er von fink evtl. dringend braucht.
Dann kann er zwar ls wieder benutzen, aber was anderes, geht vielleicht nicht mehr.
 

ratti

Aktives Mitglied
Mitglied seit
09.05.2004
Beiträge
1.521
oneOeight schrieb:
wär es nicht einfacher das ls was in /sw/bin ist mal neu zu compilieren?
wo immer es auch her kam ;)
Und warum sollte es dann besser laufen?

Gruß,
Ratti
 

zauberer

Mitglied
Thread Starter
Mitglied seit
11.01.2004
Beiträge
220
gaaaaanz alte Sache...

hat sich von alleine gelöst.
Evtl auch im Zuge des Volume und Zugriffsrechte-Reparierens.

Jetzt wird wieder korrekt gelistet :)
 
Oben