Hi.
Scripts werden ja in der Regel mit optionen, wie -o usw aufgerufen. Gibt es da einen Standardweg, wie man es programmiert? Und gibt es noch weitere Standards, an die mansich halten sollte?
MfG
Anmeldungsdatum: Beiträge: 661 |
Hi. Scripts werden ja in der Regel mit optionen, wie -o usw aufgerufen. Gibt es da einen Standardweg, wie man es programmiert? Und gibt es noch weitere Standards, an die mansich halten sollte? MfG |
||||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Grundsätzlich gibt es ja 1001 verschiedene Sprachen, die Du per Script benutzen kannst, - selbst mit sed kann man scripten ! (→ Shebang ) Allerdings meinst Du mit "Skripten" wahrscheinlich Shellskripte, und da benutzt man meistens bash (wegen der erweiterten Möglichkeiten) oder sh (= dash, die schlanker ist und auch auf Minimalsystemen läuft). Manische Vorschriften gibt es da grundsätzlich nicht, aber was Du beachten solltest, kannst Du sehr schön in Greg's Wiki nachlesen. LG, track |
||||
Anmeldungsdatum: Beiträge: 2087 |
Denke, er meint,
MfG |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 661 |
Danke. Wie wird es eigentlich behandelt, wenn man einen Dateinamen mit - beginnen lässt und diesen Scripten beim Aufruf übergibt. Zb
Ist das unerlaubt? Oder gibt es da einen Trick? MfG |
||||
![]() Anmeldungsdatum: Beiträge: 2510 |
Servus, du suchst wohl getopts: http://www.unix.com/man-page/All/1/getopts/ Schau’ am besten auch in die Manpage auf deinem System. Da ist auch ein Beispiel enthalten, deshalb poste ich jetzt keins. Für Dateinamen, die mit einem Dash beginnen, gibt es die Konvention, die Optionen exlizit mit zwei Dashes zu beenden (wie posti schon sagte): ./foo.sh -a -b bla -- -hier_etwas_böses Das ist übrigens bei Verwendung von getopts kein Problem, wenn der Dateiname ein Argument für eine Option ist. Also, wenn „ ./foo.sh -b -hier_etwas_böses |
||||
Projektleitung
Anmeldungsdatum: Beiträge: 13213 |
Üblich ist in solchen Fällen, dem Namen das Verzeichnis voranzustellen - in diesem Fall also:
Das funktioniert immer, weil der Name dann nicht als Option erkannt wird. Ciao robert |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 661 |
Soll man Skripte eigentlich für sh oder für Bash schreiben? Da gibt es ja einige Differenzen, die sogar Probleme auslösen können. |
||||
Projektleitung
Anmeldungsdatum: Beiträge: 13213 |
Da ich in der Firma unter Linux, cygwin, Solaris und HP-UX arbeite, versuche ich die Skripte mit dem kleinsten gemeinsamen Nenner von POSIX und Solaris /bin/sh zu schreiben. Wenn ich Arrays oder andere fortgeschrittene Features brauche, nehme ich meistens die Letzlich muss das jeder für sich entscheiden. Wenn Du nur auf einer Maschine unterwegs bist, dann kannst Du halt das nehmen, was da ist. Ciao robert |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 661 |
Ich schreibe alle Skripte so, dass sie für die Community auch verwertbar sein werden. Da Du sagst, dass sh am allgemeingültigsten ist, nehme ich nun wohl dies. Ist mit dem sh eigentlch auch #!/bin/sh gemeint? Ich hörte mal, dass sh ein Link zur Standardskriptshell sei, welches unter Ubuntu als Standard die Dash ist. Ist das so korrekt? |
||||
Projektleitung
Anmeldungsdatum: Beiträge: 13213 |
Leider ist
Das kannst Du Dir selber beantworten.
robert |