Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

Programme ausführen?

GNU/Linux-, *BSD- und Fricklerforum
n00dles

Programme ausführen?

Beitrag von n00dles »

Guten Abend miteinander,

ich bin etwas verwirrt. Nachdem ich endlich verstanden habe, wie man den GCC dazu bringt, Programme zu linken, kriege ich Linux nicht dazu, das neue Programm auch auszuführen.

Ich hab ein einfaches Hello World Programm geschrieben, das garantiert ohne Fehler ist (da kann man ja wohl kaum viel falsch machen). Doch egal wie ich es anpack, die Konsole will hello.exe nicht ausführen. Immer bekomme ich folgende Fehlermeldung:
bash: hello.exe: command not found

Was muss ich machen, damit er das Ding ausführt?
stingray2
Patriot
Patriot
Beiträge: 1353
Registriert: Okt 2001
Wohnort: Darmstadt

Beitrag von stingray2 »

./foo

alternativ schauen ob das execution-bit gesetzt ist und obigen vorgang wiederholen.
Bild Bild
Stone
Slash
Slash
Beiträge: 637
Registriert: Okt 2000

Beitrag von Stone »

Hier nochmal die lange Anleitung für hello.c:

gcc -o hello hello.c
./hello


;)
Chawki

Beitrag von Chawki »

Es geht auch mit

/lib/ld-linux.so.2 <programm>
palandir

Beitrag von palandir »

Unter Linux eine Binary ".exe" nennen? :ugly:
Mithrandir
Razor
Razor
Beiträge: 1962
Registriert: Aug 2000
Wohnort: Aachen

Beitrag von Mithrandir »

Joar also erstens .exe is ja wohl :ugly:

Und nochwas zur Erläuterung: es ist möglich, auf das ./ vor dem Programmnamen zu verzichten, wenn du das Verzeichnis in dem es sich befindet im PATH hast. Das ist bei Entwicklungsverzeichnissen zu 99% nicht der Fall, also musst du der Shell sagen wo sie das Programm zu suchen hat. Der Punkt referenziert dabei das aktuelle Verzeichnis, der Slash sagt, dass darin was zu suchen ist und dann schließlich der Programmname.

Zum Kompilieren solltest du Stones Anweisung folgen, "-o hello" bedeutet, dass der output (also dein fertiges Programm) hello heißen soll anstelle des Standardnamens a.out
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.


J.R.R. Tolkien - The Lord Of The Rings[/small]
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

Original erstellt von ibt.palandir
Unter Linux eine Binary ".exe" nennen? :ugly:
Meine Worte ... Wieso .exe nennen?
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
kinderstampfer

Beitrag von kinderstampfer »

damits auch unter win laeuft? :ugly:
scnr
cirad

Beitrag von cirad »

Eben, immer portabel progammieren ...
n00dles

Beitrag von n00dles »

Vielen Dank, werds nacher gleich mal ausprobieren.
Original erstellt von ap0calypse


Meine Worte ... Wieso .exe nennen?
Ich hab gern übersicht. Ich kanns nicht leiden, wenn ich in tausend Ordnern tausend Dateien hab, die nach einem x-beliebigen Muster benannt sind und die mir dann in 2 Wochen nicht mehr sagen, worums eigentlich geht.

Und .exe, weil ich das a) von Windows noch gewohnt bin und b) weil executable mir durchaus einleuchtet als "ausführbahres Programm". binary ist imo viel schwammiger, weil bei einem Computer bekanntlich alles binär ist. Ich könnte jede Datei als binary bezeichnen...
stingray2
Patriot
Patriot
Beiträge: 1353
Registriert: Okt 2001
Wohnort: Darmstadt

Beitrag von stingray2 »

in meiner bash sind ausführbare dateien hellgrün. wofür brauch ich dann noch ein (nutzloses) extension?
Bild Bild
Chawki

Beitrag von Chawki »

Extension ist sinnvoll, damit man weiß was man dafür braucht.
Wenn man ein Shell-Skript foo nennt und ein Perl-Skript bar nennt, dann wird das Perl-Skript auf einer Kiste ohne Perl nicht laufen können und das Bash-Skript wird auf einer Kiste ohne Bash nicht laufen.
Das ist auch sinnvoll um beispielsweise nur Shell-Skripte schnell und einfach zu Durchsuchen.
palandir

Beitrag von palandir »

Original erstellt von Feierabend
Vielen Dank, werds nacher gleich mal ausprobieren.



Ich hab gern übersicht. Ich kanns nicht leiden, wenn ich in tausend Ordnern tausend Dateien hab, die nach einem x-beliebigen Muster benannt sind und die mir dann in 2 Wochen nicht mehr sagen, worums eigentlich geht.

Und .exe, weil ich das a) von Windows noch gewohnt bin und b) weil executable mir durchaus einleuchtet als "ausführbahres Programm". binary ist imo viel schwammiger, weil bei einem Computer bekanntlich alles binär ist. Ich könnte jede Datei als binary bezeichnen...
Öhm, wo ist das Problem sich umzugewöhnen? Bei Unix macht eine Endung .exe keinen wirklichen Sinn. Zum einen ist bei Unix alles, was das x-Bit gesetzt hat, eXecutable. Ob das nun eine ELF-Binärdatei ist oder ein simples Bash-Shellscript, ist egal, alles zählt als Executable, wenn es ausführbar ist. Bei Windows ist das dagegen ein bisschen inkonsistent, da auch noch andere Sachen außer .exe ausführbar sein können.

Die ausführbaren Dateien sind außerdem alle in den bin-Verzeichnissen (/bin, /usr/bin, /usr/local/bin, ...). Sorg' einfach für Ordnung im Dateisystem (ist per Default ja so), dann hast du auch keine Probleme damit.

Was Sinn macht, ist, Scripts mit der jeweils üblichen Endung zu versehen. Shell -> .sh, Perl -> .pl, Ruby -> .rb usw., damit man sie schnell unterscheiden kann, aber Binaries bekommen keine.
edgewalker

Beitrag von edgewalker »

Nein, das ergibt keinen Sinn. Es ist auch fast nie so. Die Hälfte der Sachen in den verschiedenen bin-Verzeichnissen sind Shellskripte, die alle zu Recht keine Extension tragen.
vogelmann
Major
Major
Beiträge: 4107
Registriert: Jul 2002
Wohnort: #konsolen @ QuakeNet

Beitrag von vogelmann »

OT: Der deutschen Sprache ist ein "macht Sinn" fremd. Eine Sache ist eben sinnvoll bzw. hat Sinn oder nicht. Sinn machen kann man nicht, höchstens geben.
Vielen Dank für die Aufmerksamkeit.
Original geschrieben von Oldfag
solange x nicht gefixt wird, ist linux keine ernsthafe konkurrenz zu ms/apple in sachen desktop.
Original geschrieben von badct|iceman
zusätzlich kann das macbook dank dem 64bit system die stärken des dualcore cpus komplett ausnutzen und die last besser verteilen.
palandir

Beitrag von palandir »

Original erstellt von edgewalker
Nein, das macht keinen Sinn. Es ist auch fast nie so. Die Hälfte der Sachen in den verschiedenen bin-Verzeichnissen sind Shellskripte, die alle zu Recht keine Extension tragen.
Ja, da muss man es auch nicht wirklich wissen, allerdings finde ich es bei eigenen Scripts sehr praktisch, und daher auch sinnvoll. ;)
n00dles

Beitrag von n00dles »

Hat geklappt. Aber irgendwie sieht das komisch aus.
Werde mir also ein Skript mit dem schmucken Namen run schreiben, dass als Übergabeparameter eine binary bekommt, dann werd ich wohl zufriedener sein.

Und in wie weit es wirklich sinnvoll ist mit den Dateiextensions kann ich jetzt wohl noch nicht richtig beurteilen, dafür benützt ich Linux einfach noch nicht lang genug. Darüber streite ich dann mal in einem Jahr oder so wieder ;)
edgewalker

Beitrag von edgewalker »

Original erstellt von Heißgetränk mit Zitrone
OT: Der deutschen Sprache ist ein "macht Sinn" fremd. Eine Sache ist eben sinnvoll bzw. hat Sinn oder nicht.
Ja ja. :rolleyes: Ich hab es zunächst auch korrigiert, und auch noch drei Absätze Erläuterung dazugeschrieben. Dann habe ich statt "Submit" auf "Clear fields" geklickt. F*&S(*@H($$! Und dann "scheiss drauf" gedacht und es dabei belassen, wobei ich vergessen habe, wenigstens den einen Fehler wieder zu beheben.
Mithrandir
Razor
Razor
Beiträge: 1962
Registriert: Aug 2000
Wohnort: Aachen

Beitrag von Mithrandir »

Original erstellt von edgewalker
F*&S(*@H($$!
Das ist auch kein gültiges Wort der deutschen Sprache :ugly: :D

Schlimm ne? Heute hacken sie alle auf dir rum... ;)
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.


J.R.R. Tolkien - The Lord Of The Rings[/small]
texray
Wrack
Wrack
Beiträge: 459
Registriert: Jul 2001

Beitrag von texray »

Original erstellt von edgewalker

Ja ja. :rolleyes: Ich hab es zunächst auch korrigiert, und auch noch drei Absätze Erläuterung dazugeschrieben. Dann habe ich statt "Submit" auf "Clear fields" geklickt. F*&S(*@H($$! Und dann "scheiss drauf" gedacht und es dabei belassen, wobei ich vergessen habe, wenigstens den einen Fehler wieder zu beheben.
Alles die Schuld vom bösen Maus-Klick-Interface! Mit nem CLI wär das nicht passiert... (Die hätten von Anfang an auch Webbrowser nur mit Tastaturbedienung ausstatten sollen *g*)
[small]"Unterschreiben Sie einfach hier", sagte der Teufel, "und nennen Sie Ihren Wunsch."
Jonathan Palmer seufzte. "Ich wünsche mir ein Utopia", sagte er. "Eine makellose
Welt ohne Unrecht und Böses."
"Aber...", sagte der Teufel und sah überrascht drein, während er für immer verschwand.
"Scheint alles schon viel besser zu sein", sagte Jonathan Palmer, während er für immer
verschwand. "Viel, viel besser", sagte seine Frau und wandte sich vom Schlüsselloch
ab, um ihren Geliebten, Raoul, zu umarmen. Während sie für immer verschwand,
erinnerte sich Raoul daran, daß er der einzige Begünstigte ihrer immensen Lebens-
versicherung war. Er verschwand auf der Stelle, gefolgt von dem verschlagenen
Versicherungsangestellten, dem profitgierigen Versicherungsboß und dem ganzen Rest
der unperfekten Menschheit. Ich allein bin übrig. Ha ha ...
[/small]
vogelmann
Major
Major
Beiträge: 4107
Registriert: Jul 2002
Wohnort: #konsolen @ QuakeNet

Beitrag von vogelmann »

Original erstellt von texray


Alles die Schuld vom bösen Maus-Klick-Interface! Mit nem CLI wär das nicht passiert... (Die hätten von Anfang an auch Webbrowser nur mit Tastaturbedienung ausstatten sollen *g*)
opera lässt sich komplett mit tastatur bedienen.
Original geschrieben von Oldfag
solange x nicht gefixt wird, ist linux keine ernsthafe konkurrenz zu ms/apple in sachen desktop.
Original geschrieben von badct|iceman
zusätzlich kann das macbook dank dem 64bit system die stärken des dualcore cpus komplett ausnutzen und die last besser verteilen.
edgewalker

Beitrag von edgewalker »

Original erstellt von texray
Alles die Schuld vom bösen Maus-Klick-Interface!
Eben nicht, ich hab zu weit getabbt -- weil beim Verfassen eines neuen Posts der zweite Button der Abschicken-Knopf ist, beim Editeren dort aber die hundsvermaledeite "Felder löschen"-Falle da sitzt.
pixelbrei
Bitterman
Bitterman
Beiträge: 160
Registriert: Okt 2001

Beitrag von pixelbrei »

Original erstellt von nobody0
Extension ist sinnvoll, damit man weiß was man dafür braucht.
Wenn man ein Shell-Skript foo nennt und ein Perl-Skript bar nennt, dann wird das Perl-Skript auf einer Kiste ohne Perl nicht laufen können und das Bash-Skript wird auf einer Kiste ohne Bash nicht laufen.
Das ist auch sinnvoll um beispielsweise nur Shell-Skripte schnell und einfach zu Durchsuchen.
Dann müsste man die Executables auch *.a.out, *.elf oder *.misc nennen, je nach format. Weil die laufen auch nur auf Systemen, wo der Kernel die entsprechenden Formate unterstützt :ugly:
Auf ein .pl für Perl-Skripte lass ich mich noch ein, aber alles andere ausführbare kriegt keine Erweiterung.
Oh ausser noch den Spiele-Installern, die oft *.run heissen, die lass ich auch so.
stingray2
Patriot
Patriot
Beiträge: 1353
Registriert: Okt 2001
Wohnort: Darmstadt

Beitrag von stingray2 »

ich hätte nicht gedacht, daß extensions so ein kontroverses thema unter benutzern unixoider betriebssysteme sind. ist ja fast so schlimm wie vim <=> emacs. :D
Bild Bild
cirad

Beitrag von cirad »

Am schlimmsten ist dieses gzip-Gerümpel, das möchte nämlich unbedingt eine Extension haben.

Ach ja, viel schöner finde ich es übrigens, sein "Hello World" test zu nennen und dann stundenlang nach dem Fehler zu suchen, warum er eigentlich nichts ausgibt. :ugly:

PS: schlimmer als, nicht schlimmer wie
PPS: Kriegt man irgendwie dieses Rumgenerve von Firefox per GUI weg, daß ein Plugin nicht installiert sei (der öffnet ja dann so eine Leiste am oberen Bildschirmrand)?
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

@firefox-problem:

Ich kanns dir jetzt leider nicht genau sagen, da ich gerade an einem Rechner mit IE ( :ugly: ) sitze. Aber steht nichts in about:config in die Art?

@Topic && Extensions Diskussion:

Ich finde eine Endung nur dann sinnvoll, wenn sie mir die Suche / Bearbeitung / usw erleichtert. Sprich bei Sources. Bei kompilierten Programmen finde ich eine Endung sinnlos. Und bei Scripts ... Naja ... Die will ich auch ohne Endung, obwohl ich meine Scripts selber oft *.sh nenne ...

@ schlimmer als / wie:

In seinem Fall ist wie aber schon richtig... Oder?
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
cirad

Beitrag von cirad »

Original erstellt von ap0calypse
In seinem Fall ist wie aber schon richtig... Oder?
Nein, ist es unter Garantie nicht. :)
edgewalker

Beitrag von edgewalker »

.sh/.pl/etc nenne ich meine Skripte nur, wenn ich ihnen kein +x verpasssen will. In ~/bin zB hat nichts eine Endung. Textdateien haben meist auch keine Endung sondern Namen in Grossbuchstaben -- à la README, INSTALL, AUTHORS etc. Ansonsten verwende ich aber sehr wohl Endungen.

Die Ausführbarkeit einer Datei an ihrer Endung festzumachen wie bei Windows ist auch schwachsinnig -- gerade unter Unix, wo es den #!-Mechanismus gibt. Jede Art von Datei kann im Grunde ausführbar sein, die Ausführbarkeit hängt also nicht mit dem Dateitypen zusammen und sollte daher auch nicht an der Endung entschieden werden. Viel sinniger als eine Aufstellung, welche Endungen Ausführbarkeit signalisieren (wie es Windows in der Registry macht) ist es also, einfach ein Attribut an der Datei zu setzen.
ap0calypse
Slash
Slash
Beiträge: 678
Registriert: Jan 2004
Wohnort: Wörgl / Tirol / Austria

Beitrag von ap0calypse »

Original erstellt von cirad


Nein, ist es unter Garantie nicht. :)
ist so schlimm wie vim vs. emacs ...

ist so schlimm als vim vs. emacs ...

Tut mir leid ... das zweite klingt für mich schräg. Bist du dir sicher? ;)

Vielleicht liegt es aber einfach daran, dass ich als Tiroler kein anständiges Deutsch kann :D
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
hybrid

Beitrag von hybrid »

Wer lesen kann ist klar im Vorteil. ;)

Komparativ: Schlimmer als ...
Vergleich mit Vergleichspunkt: [...] so schlimm wie [...]


Irgendwie aber alles etwas off-topic hier... :ugly:
Antworten