Anfängerfrage zur Shellscript-Variablengestaltung

Frage an die Mods: gibt es eine Möglichkeit, das Thema als erledigt zu markieren? Meine Frage war ja eigentlich mit der ersten Antwort schon erschöpfend beantwortet.
@Yamagi und @Nonpareille man sollte solche Threads imho nicht unbedingt schliessen oder "beenden"... ausser es kommt die Hitlerkeule...
Wenn der Thread wegen ausreichender Antwort uninteressant für einen geworden ist, steht ja auch nem Op frei es auf unwatch zu stellen.
 
Deshalb habe ich ihn ja auch nicht geschlossen. Ich wollte nur darauf hinaus, dass es sinnlos ist zum sicher 42. Mal das Thema Programmiersprachen durchzudiskutieren...
 
Nach eigener Erfahrung würde ich keinem Perl als erste Programmiersprache empfehlen

Ich habe einer sonst nicht programmieraffinen Nutzerin Programmieren mit Perl 5 beigebracht und sie war durchaus zufrieden. Perl hat halt aktuell das Problem, dass Perl 5 wegstirbt und Perl 6 nicht viel mehr taugt, weil die Runtime gern JVM hätte und CPAN klassisches Perl-5-Territorium ist.
 
Nach eigener Erfahrung würde ich keinem Perl als erste Programmiersprache empfehlen, darum würde dieses Argument für mich entfallen
Allgemein finde ich diese Art von Scriptsprachen (python wie auch Perl) für Stellvertreter-Systemaufgaben eher Suboptimal (weil overdosed)... wobei Python da noch schlimmer ist finde ich...
Code:
import hier aus da
from Drüm import drend
Bevor man für ein besch.... "Erstelle einen Ordner mit Datum im Namen" mal alles zusammen gefriemelt hat, wird man gelinde gesagt blöd bei...
Natürlich nicht mehr wenn man das Know-how hat... solchen Kleinigkeiten braucht man aber meist sofort, und Scriptsprachen wie Perl und Python verlangen einen Wissensstock der auch noch intensiver gepflegt werden muss als so ein bisschen Shell.
Beim verbessern seiner Arbeit kann man ja dann immer noch die Scripte von Shell in Perl oder Python übertragen... mit dem netten nebeneffekt dass die Aufgabe schon halbwegs ordentlich erfüllt wird bevor man alle Fallstricke dieser Sprachen aus dem Script gepatcht hat.
 
Allgemein finde ich diese Art von Scriptsprachen (python wie auch Perl) für Stellvertreter-Systemaufgaben eher Suboptimal

Wieder so ein Fall von "hängt davon ab". Die Systemautomatisierung ist der Anwendungsfall für Shellscripts, also das Ausführen der immer gleichen Shellbefehle (gern mit Variablen und Schleifen). Wenn man irgendwas machen will, was auf der Konsole nicht so einfach geht, dann wird es aber schon interessant, mal was anderes zu benutzen.

Hat man etwa ein Shellscript, das zwanzigmal sed, awk oder perl aufruft, dann ist die Zeit gekommen, mal ergebnisoffen über etwas anderes als #! /bin/sh nachzudenken...
 
Perl hat halt aktuell das Problem, dass Perl 5 wegstirbt und Perl 6 nicht viel mehr taugt, weil die Runtime gern JVM hätte und CPAN klassisches Perl-5-Territorium ist.

Wer Perl mit JVM verbinden will der hat es nicht besser verdient...
"Läuft schneller" gut und schön aber das auf kosten der sicherheit zu machen und sich wieder in eine Abhängigkeit eines Konzerns zu begeben ist ja mal kacke
 
@Yamagi und @Nonpareille man sollte solche Threads imho nicht unbedingt schliessen oder "beenden"... ausser es kommt die Hitlerkeule...
Wenn der Thread wegen ausreichender Antwort uninteressant für einen geworden ist, steht ja auch nem Op frei es auf unwatch zu stellen.
@SierraX : Ums Beenden gings mir auch nicht, nur darum, dass klar wird, die Frage ist bereits ausreichend beantwortet - nochmal danke dafür - .


Aus der Sicht eines Außenstehenden können Glaubenskriege ganz lustig sein.
 
OpenBSD nutzt nicht den "Original-vi", sondern - wie wahrscheinlich alle 4.4BSD-Lite-Abkömmlinge - nvi. :belehren:

Aber die Frage war auch nicht völlig ernst gemeint. Diskutieren wir das lieber nicht hier aus. ;)
 
und Scriptsprachen wie Perl und Python verlangen einen Wissensstock der auch noch intensiver gepflegt werden muss als so ein bisschen Shell.

Das sehe ich bei Perl nicht. Die Namen der Grundbefehle gleichen denen die man von der Shell gewöhnt ist.
Die Dateitests z.B. (-e, -f, -x, ...) und die Operationen auf Dateien und Verzeichnisse (mkdir/rmdir/unlink/symlink/chmod/chown). Der open-Befehl fasst unter einem Dach alles an I/O zusammen - inkl. Shellredirects, Pipe-Opens oder eben Dateizugriff.

Rob
 
Das ist oben schon so ein wenig angeklungen: wozu brauche ich es?
Wenn ich einmal im Monat ein Problem zu lösen habe, werde ich die Anwendung komplexer Sprachen schneller vergessen/verlernen, als gegenüber dem Lernaufwand als Einsteiger zu rechtfertigen ist.
Wenn ich aber täglich damit zu tun habe, geht es gar nicht anders, als passende Sprachen zu erlernen.
Es gibt nunmal solche und solche Einsteiger und ich denke, der Rat kann jeweils unterschiedlich ausfallen.

Mir ist es schon zu viel, den Umgang mit einer shell richtig zu erlernen. Ich habe zu selten das Bedürfnis dafür.
 
Das sehe ich bei Perl nicht. Die Namen der Grundbefehle gleichen denen die man von der Shell gewöhnt ist.
Die Dateitests z.B. (-e, -f, -x, ...) und die Operationen auf Dateien und Verzeichnisse (mkdir/rmdir/unlink/symlink/chmod/chown). Der open-Befehl fasst unter einem Dach alles an I/O zusammen - inkl. Shellredirects, Pipe-Opens oder eben Dateizugriff.

Rob

Das mit dem Wissensstock war eher auf sowas bezogen

Perl:
perl -MIO::Socket::INET -ne 'BEGIN{$l=IO::Socket::INET->new(LocalPort=>1234,Proto=>"tcp",Listen=>5,ReuseAddr=>1);$l=$l->accept}print $l $_'

hab ich recht viel gebraucht wenn die Shell und/oder Program sets kein nc her gaben. und wie prüft man sonst ob eine Verbindung funktionieren wird. Aber das ist natürlich sowohl ein paar level über shell scripting als auch ein gehobenes level innerhalb von Perl.
Ich hab zwar Bücher um irgendwann mal richtig Perl zu lernen aber da ist noch nicht die geringste Timeline vorhanden und wenn ich nach der Aussage von vorhin gehe, das Perl jvm "will" wird daraus vielleicht auch garnix mehr werden.
Hab sowas auch für Python gefunden gehabt... das muss ich aber erst wieder suchen.
 
  • Like
Reaktionen: lme
Mich erinnert das so‘ n bisschen an die Linux“Experten“: „ ich habe die Distribution xxx“ und bekomme das nicht hin - Expertenabtwort: Probier mal die Distribution xyz !!!
Wenn jemand einen Shell-Befehl nicht versteht - und vielleicht auch noch sagt, welche Shell er denn meint - dann kann man das erklären ... oder man schweigt!
Bei ersteren kann man noch ergänzen, dass vielleicht die xy-Shell dies einfacher löst.
Aber dann z.B. Perl als Alternative zu nennen - finde ich gefährlich;-)
Man stelle sich mal vor - jemand der sich in Perl hineinwurschelt um ein aktuelles Problem zu lösen, was er mit tcsh oder bash nicht hinbekommt .. will irgendwann C lernen! Das wird dann nix mehr ;-)
 
@Vril wie heisst die schöne "Jeder kann programmieren" - bisher konnte ich aber meinen Zusatz "aber nicht jeder sollte seine Programme auch veröffentlichen" immer wieder bestätigen ;-)
 
hi

ich verstehe den Hype um Python nicht .......... mich nervt schon die ewige nach Installation der Programmteile.

was sprich gegen perl ist überall Bestandteil des System incl. notwendiger Module.

Perl gibt es unter Windows.

die Fähigkeiten wachsen mit dem lern erfolg .

Es hat sich extrem viel getan im Perl 5 Umfeld, auch was die Kritikpunkt betrifft.

und mit Moose gibt es es eine Weitreichende , mittlerweile , Performante OOB Möglichkeit.

Anleitungen , Tutorials gibt es wie Sand am Meer und man kann sogar "Sauberen" Code scheiben , wofür
es auch Dokumentation gibt.

Holger
 
Zurück
Oben