BASH
-
Kennt jemand ein gutes tutorial für Bash Programmierung ?
Ist ein Bash script genauso mächtig wie ein VBS Script ??
-
Bash ist ziemlich mächtig. Aber gerade die höheren Dinge sind oft verwirrend und versteckt.
http://tldp.org/LDP/abs/html/
http://www.gnu.org/software/bash/manual/bashref.html
-
rüdiger schrieb:
Bash ist ziemlich mächtig. Aber gerade die höheren Dinge sind oft verwirrend und versteckt.
http://tldp.org/LDP/abs/html/
http://www.gnu.org/software/bash/manual/bashref.htmlIch würde die umgekehrte Reihenfolge empfehlen. Zuerst die bash reference lesen, danach "advanced bash scripting". Ohne die Kenntnisse aus der bash reference wird es schwierig, "advanced bash scripting" nachzuvollziehen.
Einer der wichtigsten Abschnitte in der bash reference ist meiner Meinung nach Shell expansions. Vor allem das Konzept "word splitting" zu kennen und zu wissen, wann es auftritt, ist absolut essentiell, um Bash-Skripte erfolgreich zu schreiben.
Ein anderer ganz wichtiger Abschnitt, der eng mit word splitting zusammenhängt, ist Quoting.
-
wenn man eine bash Script ausführen will,
muss man folgendes eintippen../datei
warum nicht einfach datei alleine ?
was ist ./
ich kenn die ~ als Homeverzeichnis
-
asg schrieb:
wenn man eine bash Script ausführen will,
muss man folgendes eintippen.
./datei
warum nicht einfach datei alleine ?Alles für die Sicherheit.
Stell Dir vor, ein Bösewicht ohne besondere Rechte schafft es, eine ausführbare Datei ls nach /tmp zu schaffen und Du als root machst mal cd /tmp und dann ls und der Rechner ist gefickt.was ist ./
. ist das aktuelle Verzeichnis.
-
asg schrieb:
wenn man eine bash Script ausführen will,
muss man folgendes eintippen.Das hat nichts damit zu tun, dass es ein Bash-Skript ist. Beim ausführen wird zwischen einem Skript oder Binary nicht unterschieden. Wenn die Shell nach Programmen sucht, dann schaut sie in den Pfaden nach, die in $PATH gegeben sind. Aus den Gründen die volkard bereits genannt hat, ist . (also der aktuelle Pfad) nicht in $PATH. Wenn du aber das Skript in ein Verzeichnis verschiebst, dass in $PATH enthalten ist, dann brauchst du auch kein "./" (was ja nur sagt "aktueller Pfad"/).
(alternativ könntest du natürlich auch . zu $PATH hinzufügen. Aber das bringt eben die bereits genannten Risiken mit sich)
-
also ausführbare Dateien müssen immer mit vollständigem
Pfad angegeben werden anstatt ./ könnte ich alternativ auch
den ganzen Pfad angeben ?
-
blurry333 schrieb:
anstatt ./ könnte ich alternativ auch den ganzen Pfad angeben ?
Ja.
-
man könnte alternativ z.B. bash proggi schreiben und ausführen lassen
Ich würde raten, statt einem Tut, lieber ein Buch zu lesen. Es gibt 1. ganz gute, 2. öfter mit Beispielen im Zusammenhang erklärt, 3. praktisches Nachschlagewerk,
4.nette Didaktik, usw.Die mächtigste Unix-Shell ist die zsh. Inwieweit etwas "mächtig" ist, oder nicht, hängt stark von deiner Arbeitsweise ab. Know How und Fun sind gut. Wissen ist mächtig, Teamarbeit und gewußt wie.
-
[quote="volkard"] der Rechner ist gefickt.
Bin ich froh, dass das Niveau hier hoch ist
-
Mod? Failed! schrieb:
Bin ich froh, dass das Niveau hier hoch ist
Ich finde es niveauvoller, stark umgangssprachliche Formulierungen zu benutzen, als sich zum Stänkern abzumelden.