Batchdatei für Linux?

Hi,

ich arbeite nun seit einiger Zeit zu 50% mit Linux Ubuntu.
Schönes System, muss ich sagen, der prozentuale Anteil wird sich wohl zu Gunsten von Ubuntu verschieben…

Was mich aber beschäftigt ist:
Unter Windows kann ich ziemlich gut mit Batchdateien kĺeine Sachen automatisieren. Das möchte ich gerne auch mal unter Ubuntu probieren.

Wie heißen die Batchdateien unter Linux und wie kann ich bspw. ein Java-Programm mit so einer Datei aufrufen?

Danke schon jetzt.

Das sind die Shell Scripte unter Linux. Du kannst dort alle Befehle verwenden (und noch einige mehr) die auch in einer Shell also einer Konsole ausgeführt werden können.

Um ein Java Programm von einem Shell Skript aus aufzurufen kannst du im Shell Script also die gleichen Befehle verwenden wie au der Konsole. Beispiel:

java -jar

oder

java -cp

usw.

Eine gute Einführung in die Shellprogrammierung gibt es zum Beispiel unter:
http://www.galileocomputing.de/openbook/unix_guru/node302.html

Sehr schön, danke.

Welche Extension hat ein Shell-Skript? .sh?

Das ist ja unter linux egal, da kannst Du alles mit und ohne extensions anlegen, wichtig ist nur das Du am Anfang der Zeile angibst mit welcher Shell Du arbeiten willst.

Bsp für Bash:

#!/bin/bash

Bsp für C-Shell:

#!/bin/csh

Bsp für awk:

#!/bin/awk -f

Ausserdem kann ich noch folgende Seite, bzgl. BashScripting empfehlen: http://tldp.org/LDP/abs/html/index.html

Gut Schuß
VuuRWerK :wink:

Hmmm, ich sehe schon, ich hab einen Crack erwischt. :wink:
Gibts da Unterschiede? Wenn ja welche? Und wie entscheide ich, welche Shell ich nehme? Sind die alle standardmäßig installiert?

Naja, Crack würd ich net sagen aber „Interessiert“ trifft den Nagel schon auf den kopf :wink:

Die Wahl der Script-Sprache ist Dir frei gestellt. Im Normalfall nimmt man Bash, da diese eine erweiterte Shell der Bourne-Shell ist(Bash=Bourne Again Shell). Zudem beherrscht die bash auch Sachen aus der Korn-Shell(ksh) und der C-Shell(csh). Die bash kann u.a. auch einfache Konstrukte aus C interpretieren, diese werden dann in doppelte Klammern gesetzt:


(( a = 1 ))   # wichtig sind die leerzeichen vor und nach dem '='
echo "value of a=$a";

(( a++ ))
echo "value of a=$a";

# Sehr praktisch, mithilfe dieser Syntax ist bspw. das verwenden des Trinär-Operators möglich welchen es in bash nicht gibt.

(( r = a < 0 ? 1 : 0 ))
echo "if a lower then 0 r=0, otherwise 1"
echo "r = $r"

Mein angeführtes Beispiel mit awk sollte Dir nur den Hinweiß geben das man neben der Shell auch Skriptsprachen benutzen kann, daruntere zählen eben awk aber auch perl, php und natürlich python. An awk hat im übrigens der Herr Kerningham mit gearbeitet(darauf deutet das k in dem Wort awk) so werden Dir viele Sprachkonstrukte aus C/C++ bekannt vorkommen, aber ich schweife ab :slight_smile:

Standarmäßig sollten bei ubuntu die bash installiert sein, sollte sogar die System-Shell sein :wink:
Soweit ich weiß sind die ksh und csh ebenfalls mit installiert aber diese shells sind ja auch durch die bash mit abgedeckt.

Bei der Wahl der Skriptsprache sei Dir ebenfalls freie Hand gegeben, ich glaub da kommt es eher auf den Geschmack an. Skriptsprachen solltest Du, egal welche, meistens selber installieren/compilieren müssen.

Hoffe einwenig Licht ins dunkle gebracht zu haben, stehe aber jederzeit für weiter Fragen zur Verfügung :wink:

Gut Schuß
VuuRWerK :wink:

Danke erst mal. Ich komme auf dein Angebot gerne zurück. :slight_smile: