Zum Inhalt springen

Wie starte ich ein Programm unter Bash?


Freedom

Empfohlene Beiträge

ich wollte es einfach lernen, wie man unter Linux bzw. unter Bash, genau wie unter Eingabeaufforderung unter Windows arbeitet. Unter Windows gebe ich einfach den Namen der Datei ein und er startet es automatisch. Hier geht es leider nicht, so suche ich nach Möglichkeiten wie ich das machen kann.

Ausserdem will ich nicht nur unter Linux arbeiten können, sondern auch unter Unix, daher die Tipperei.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Programme die unter X laufen (sprich KDE können AFAIK nicht immer (oder gar nicht?) per BASH gestartet werden. IMHO muss man oft auch das verzeichnis kennen)

Geb doch einfach mal "fortune" ein und freu dich über die Ausgaben :D (kann man sogar in Kmail zur automatischen Signaturerzeugung eingeben).

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ Freedom

Auch auf deine späteren Postings bezogen:

Mit "unter Windows gebe ich einfach den Namen der Datei ein und er startet es automatisch" meinst du wahrscheinlich ausführbare Dateien. (sprich .exe)

Ja klar, die lassen sich direkt starten, da es ja eigene Programme sind.

Unter Linux gibt es natürlich auch ausführbare Dateien, aber eine RTF Datei zählt nicht dazu. Starte erstmal ein Programm, mit dem man RTF Dateien (Textdokumente) öffnen kann, z.B. OpenOffice oder StarOffice und öffne dann die entsprechende Datei.

Die Abkürzung ALT+F2 in KDE ist nur eine Vereinfachung. Genauso gut kannst du auch ein Terminal Fenster öffnen und den Befehl dort eingeben.

Das hat allerdings nichts mit dem Unterschied zwischen Windows, Linux und Unix zu tun, sondern ist ledliglich eine Vereinfachung von KDE. Man muss ja unter Linux nicht zwangsläufig KDE verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Doham

Programme die unter X laufen (sprich KDE können AFAIK nicht immer (oder gar nicht?) per BASH gestartet werden.

Natürlich können Programme, die unter X laufen auch per Bash gestartet werden. Wichtig ist, das man entweder den Pfad zur ausführbaren Datei im $PATH hat, den kompletten Pfad direkt angibt oder eben erst in das entsprechende Verzeichnis wechselt und die Datei von dort startet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich danke für die Antworten vielmals!

Ich meinte eigentlich keine Exe-Dateien, sondern folgendes:

ich gehe unter cmd.exe in Windows in den folgenden Pfad:

c:\my docs\textdatei.doc und zwar so:

c:

cd my docs

textdatei.doc

und die Datei wird sofort im richtigen Programm geöffnet, sprich Word.

Ich habe einfach festgestellt, dass es unter Linux nicht geht.

Wieso es mich so interessiert? - Weil ich gleichzeitig auch wissen will, wie es unter Unix geht. Da ist es ja alles zeilenorientiert, oder vieles.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ Freedom

Ah okay, diese Vorgehensweise benutze ich nie. Das wird unter Windows wohl mit den Dateitypen / Dateiverknüfpungen des Windows-Explorers zu tun haben.

Unter Linux lässt sich vielleicht ähnliches einstellen. Im KDE Kontrollzentrum kann man - ähnlich wie unter Windows - die Dateitypen / Dateizuordnungen einstellen. Sprich, welche Datei mit welchem Programm geöffnet werden soll. Danach funktioniert es vielleicht auch so, aber ich würde empfehlen, verknüpfe die gewünschten Dateien (z.B. RTF, DOC) mit StarOffice und dann kannst du sie direkt aus Konqueror heraus durch Mausklick öffnen.

Wenn du übrigens Dateien von einem Verzeichnis, das Leerzeichen im Namen hat öffnen möchtest, dann musst du dieses maskieren - oder einfacher: in Anführungszeichen setzen:

<programm> "c:\my docs\textdatei.doc" - nur als Beispiel, unter Linux musst du natürlich die Windows Partition erstmal mounten und dann z.B. über "/mnt/windows/my docs/textdatei.doc" ansprechen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst unter Linux/Unix prinzipiel nur Executables und Scripte ausführen. Alle anderen Dateien sind passe. Executables (Binärdateien) können direkt verarbeitet werden. Bei Scripts steht am Anfang sowas wie "#!/bin/sh" oder "#!/usr/bin/perl". Starte ich hier das Script per ./scriptname wird tatsächlich (im letzten Fall) "perl scriptname" ausgeführt. Das ist alles was du auf Consolenebene machen kannst.

Also du kannst Staroffice mit "./soffice /mnt/win/test.rtf" starten. (wenn du im soffice verzeichnis bist, oder ohne "." wenn der $PATH gesetzt ist).

Die Datei -> Programmzuordung kann der entsprechende Windowmanger (KDE/Gnome/...) übernehmen. Das funktioniert dann aber nur dort und von Programmen, die das unterstützen. Also in KDE kannst du das wie von meinem Vorredner beschrieben einrichten. Du kannst dann aus dem Konqueror heraus auf eine Datei klicken und die Sache funktioniert. In der Console oder in anderen WM's oder Dateimanagern funktioniert das aber nicht.

Ich glaube im Moment sind KDE/Konqueror und Gnome/Nautilus die einzigen WM's die das können.

Dateimanager die eine eigene Datei -> Programmzuordung haben gibt zu genüge: mc(console), gentoo(X), xnc(X)...

Ich hoffe das hilft dir etwas vom Verständnis her...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du die Console schliesst wird das Programm mit und oh ne & beendet. Da muss dann ein "disown" folgen, der die Anwendung ganz von der Console abkoppelt. Man kann sie dann aber auch mittels "fg" nicht mehr zurückholen.

Ich geh auch gerne den umständlichen Weg (ich vergess das & dauernd ;-)

./programm

strg+z (hält die anwendung an)

bg (schiebt die anwendung in den Hintergrund)

disown (koppelt die console ab)

TIP: das geht teilweise auch bei remote X Anwendungen.

z.B. ssh user@192.168.1.5 -X xmms &

<etwas warten>

disown

Manchmal gehts aber auch schief =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by SilenceX

Wenn du die Console schliesst wird das Programm mit und oh ne & beendet. Da muss dann ein "disown" folgen, der die Anwendung ganz von der Console abkoppelt. Man kann sie dann aber auch mittels "fg" nicht mehr zurückholen.

Dafür solltet ihr mal einen Blick auf das Programm "screen" werfen. Damit koennen Anwendungen auch nach dem ausloggen weiterlaufen und nach einem Login wieder in den Vordergrund geholt werden. "disown" ist uebrigens ein shell-buildin der bash, d.h. wenn Du eine andere Shell verwendest (tcsh, csh) wird die oben beschriebene Methode nicht funktionieren (---> screen verwenden).

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...