Linux .sh starten , ohne installation?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo

ist es möglich eine .sh Datei zu starten , ohne sie zu installieren ?
  1. Du plenkst, das nervt
  2. Wird ein Shell-Script nicht installiert!
Ich würde gerene einige Programm nur über einen USB Stick laufen lassen

Ich denke es ist kein Programm sondern ein Script?

Um ein GNU/Linux Programm oder Script ausführen zu können muß es auf einem Dateisystem abgelegt werden das die Dateirechte auch verwalten kann. Ist der Stick also nicht mit einem solchen Dateisystem versehen kannst Du das Script nicht auf die "übliche Weise" starten sondern so:

bash Linux .sh

Reicht Dir das?

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

Du kannst auch auf einer Live-Distro Software installieren, das wird dann halt nur im Ramdisk gespeichert.

Scripte braucht man gar nicht installieren, wie TheHeckler schon gesagt hat.

humanica 
Fragesteller
 23.01.2014, 15:15

Mit der Live-Distro hätte ich etwas bedenken , da ich parallel noch 5 weitere Programme installieren muss . Das alles einzurichten , um bei einem Stromausfall , absturz etc alles wieder neu machen zu müssen wird sehr aufwendig :/ . Trotzdem danke für die Idee , ohne diese Programme wäre das eine gute Lösung gewesen

0
Broco  23.01.2014, 15:20
@humanica

Du kannst die Programme auch direkt mit auf den Stick packen.

0
humanica 
Fragesteller
 23.01.2014, 15:21
@Broco

Bisher habe ich leider ( unter Linux ) keine Möglichkeit gefunden , ein Programm auf einer externen oder auf einem Stick zu installieren .

0

Eine .sh Datei ist ja nur ein Script. Das kann man nicht installieren. Es ist wie eine Batch Datei.

Ob diese nun ausfühbar ist oder nicht kannst du ja selbst festlegen.

chmod +x/-x dateiname.sh

Dann kannst du diese mittels (Kommandozeile) ./Dateiname.sh einfach starten!

humanica 
Fragesteller
 23.01.2014, 15:12

"
sudo chmod +x programm.sh me~programmordner : sudo ./programm.sh " Würde das so funktionieren? Ich meine mich zu erinnern , dass zb logmeinhamachi neben der sh noch weitere Dateien im Ordner enthielt , die durch ausführen des hamachi.sh installiert wurden . Würde das nicht passieren , solange lediglich eine .sh vorliegt ?

0
humanica 
Fragesteller
 23.01.2014, 15:13

"
sudo chmod +x programm.sh me~programmordner : sudo ./programm.sh " Würde das so funktionieren? Ich meine mich zu erinnern , dass zb logmeinhamachi neben der sh noch weitere Dateien im Ordner enthielt , die durch ausführen des hamachi.sh installiert wurden . Würde das nicht passieren , solange lediglich eine .sh vorliegt ?

0
Linuxhase  24.01.2014, 16:11
@humanica

@humanica

sudo chmod +x programm.sh

Dieses Kommando ruft Change Mode auf und teil diesem mit das man eine Datei ausführbar machen möchte ( +x eben). Bei einem

sudo chmod -x programm.sh

würde das ausführen-Bit der Datei wieder entzogen werden.

me~programmordner

Dieses Kommando gibt es nicht!

  • Die Tilde ( ~ ) ist ein Verweis auf das Heimatverzeichnis desjenigen der es eingibt. Bei Dir also etwa: /home/humanica/
  • Eine Software mit dem Namen me ist mir nicht bekannt.
  • programmordner ist wohl nur ein fiktiver Pfad.
  • richtiger wäre in diesem Beispiel wohl: ~/programmordner welches dann auf /home/humanica/programmordner verlinken würde.

Ich meine mich zu erinnern , dass zb logmeinhamachi neben der sh noch weitere Dateien im Ordner enthielt , die durch ausführen des hamachi.sh installiert wurden . Würde das nicht passieren , solange lediglich eine .sh vorliegt ?

Wenn im Script, wie Deiner hamachi.sh steht das eine Datei ~/setup.sh und danach noch eine verzeichnisse_anlegen.sh ausgeführt werden soll; und diese aber nicht vorhanden sind, dann würde die hamachi.sh mit einer entsprechenden Fehlermeldung abgebrochen werden. Ist doch logisch oder?

Das wäre als wenn Deine Mutter Dir sagt "humanica hole mir bitte die Milch und die Butter aus dem Kühlschrank", aber im Kühlschrank keine Milch wäre ;-)

Linuxhase

0

Ja, mit:

chmod 755 /pfad/zur/datei.sh
./pfad/zur/datei.sh

Alternativ:

bash /pfad/zur/datei.sh