Wie erstelle ich eine Art .bat Datei für Linux?

4 Antworten

Hallo

Weiß einer vielleicht wie ich eine Datei für Ubuntu (Linux) erstellen kann die beim öffnen befehle ausführt (wie .bat datei auf Windows)

Du öffnest einen beliebigen Texteditor und beginnst mit einer Zeile, dem so genannten Shebang, die so aussieht:

#!/bin/bash

Damit wird der Interpreter angegeben welcher den folgenden Code ausführen soll.

Darunter können dann alle Kommandos ausgeführt werden die Funktionen verwenden welche auf dem System bereits installiert sind.

Ich hoffe jemand weiß wie das geht!

Hast Du bestimmte Aufgaben im Sinn, welche?

Daneben gibt es natürlich noch viele andere Scriptsprachen wie awk, perl, phyton, go uvm. dem entsprechend muss der Shebang angepasst werden.

#!/bin/bash
# Beispielscript - Zeilen mit '#' am Zeilenbeginn
# werden von der bash als Kommentarzeilen angesehen
# und alles darin stehende wird ignoriert.
# Andere Interpreter haben dafür manchmal eine andere
# Syntax
# Start des ausführbaren Inhalts:
# -------------------------------
echo "Wie heißt Du?"
read nAME
echo "Wie alt bist Du?"
read aLTER
echo "Du bist also der $alter Jahre alte $nAME"
exit 0

Das speichert man dann ab, die Dateiendung *.sh bietet sich an, ist aber nicht zwingend; und macht die datei dann ausführbar:

chmd +x dateiname.sh

um es dann so:

./name.sh

starten zu können.

Schau Dir auch mal die Systemvariablen an die es bei Dir gibt, das Kommando

env

ist dafür vorgesehen und mit

echo $<NAME>

kann man sich jeden Inhalt ansehen.

Linuxhase

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

Weiß einer vielleicht wie ich eine Datei für Ubuntu (Linux) erstellen kann die beim öffnen befehle ausführt 

Tausende Linux-Benutzer wissen das! Bei so einer Formulierung stellt sich die Frage, ob du alle Linux-Benutzer für ungebildet hältst.

Bei solchen Systemen wie Unix und Linux (es gibt noch viele andere Namen) läuft um den Kernel herum eine Schale ( Shell ) und die kann Befehle selbst interpretieren und ausführen oder aber vorhandene Programme ausführen.

Für Linux gibt es mehrere mehr oder weniger unterschiedliche Shell's. Die Standard-Shell ist die bash (andere sind die sh, die ksh , die csh , die ...)

Jede dieser Shell's  ist in der Lage,  Dateien mit Befehlen abzuarbeiten.

Dafür muss man nur einzelne Befehle zeilenweise in so eine Datei schreiben, dieser Datei  die Eigenschaft "ausführbar" zu geben und dann deren Namen so wie einen Befehl in ein Terminal tippen.

Wie diese Datei heißt, welche Namenserweiterung sie hat, ist dabei (fast) völlig gleichgültig. "fast", weil man seine Datei nicht so nennen sollte wie irgendeinen anderen bekannten Befehl ( z.B. nicht ls , wobei das natürlich auch machbar ist)

Beispiel:

Datei-Name : HALLO

Inhalt:

cd $HOME
echo $PWD
echo "Hier die Liste der Dateien in meinem Home-Verzeichnis:"
ls -la
echo "Hier auch noch die Anzahl der Dateien und Verzeichnisse:"
ls -a |wc -l 

anschießend setzen der Zugriffsrechte

chmod 755 HALLO

und ausführen der Datei

./HALLO
Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Benutze doch einfach ein Java-Script.

guenterhalt  25.10.2015, 08:30

wie macht man das "einfach" ? Außerdem ist der Begriff Java-Script mehrdeutig. Soll dieses Script nun in Java oder in Java-Script geschrieben sein?

0
PlayerN  25.10.2015, 12:27
@guenterhalt

Schreibe es als ".js" und lasse es dann durch die virtuelle Maschine laufen.

0
guenterhalt  27.10.2015, 21:46
@PlayerN

vielleicht hast du Java bereits im Kindergarten lernen müssen/dürfen.
Ob das aber für jeden zutrifft, möchte ich sehr stark bezweifeln. Folglich ist deine Antwort unbrauchbar. 

0

Bei Linux benutzt man Scripts, schau mal hier wirds erklärt:
http://rowa.giso.de/german/shell-scripte.html

jan2220 
Fragesteller
 24.10.2015, 22:24

sind das dann .sh oder .bash dateien? 

0
guenterhalt  25.10.2015, 08:12
@jan2220

ob sh oder bash oder ... entscheidet sich nur am Inhalt einer solchen Datei. Da die bash abwärtskompatibel ist, kann diese alles das, was die ältere sh auch kann und konnte. Ein Anfänger wird sich bestimmt nicht Dinge programmieren, bei denen sich Unterschiede auswirken.

Bei Linux ist die sh-Shell ohnehin ein Link zur bash oder aber eine 1:1 Kopie der bash.

Da Linux (nicht so wie Windows) die Dateinamen-Erweiterungen nicht auswertet, ist auch gleichgültig, ob so eine Script-Datei
<Datei-Name>.sh oder <Datei-Name>.bash oder gar .doc oder .exe heißt.

2