Linux .sh starten , ohne installation?
Hallo , ist es möglich eine .sh Datei zu starten , ohne sie zu installieren ? Ich würde gerene einige Programm nur über einen USB Stick laufen lassen , sodass sie nicht im Linux System integriert werden und sich somit unsichtbar machen , sobald der USB stick entfernt wird . Gibt es eine art sudo make && start , welches die Datei temporär lauffähig/ausführbar macht , ohne Parameter im System zu speichern?
4 Antworten
Hallo
ist es möglich eine .sh Datei zu starten , ohne sie zu installieren ?
- Du plenkst, das nervt
- 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
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.
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!
"
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 ?
@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
"
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 ?
Ja, mit:
chmod 755 /pfad/zur/datei.sh
./pfad/zur/datei.sh
Alternativ:
bash /pfad/zur/datei.sh
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