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

4 Antworten

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

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

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

6

sind das dann .sh oder .bash dateien? 

0
43
@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

Was möchtest Du wissen?