Login
Newsletter

Thema: Vorlagen in GNU Emacs

1 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von rainer am Di, 27. Mai 2003 um 09:21 #
Moin!

Man kann sich ja auch unabhaengig vom verwendeten Editor ein Script schreiben, dass einem zum Beispiel ein Shellscript-Rohbau erzeugt und diesen Rohbau dann nit $EDITOR oeffnet, etwa (nur als gedanklicher Ansatz, sicherlich verbessungsfaehig (Pfade sind anzupassen), definitiv ohne Support (Verbessungsvorschlaege, Kritik, usw. sind willkommen)) folgendermassen:

cat ~/bin/newscript
----------------8<----------------------------------------
#!/usr/local/bin/perl -w

##--------------------------------------
## generates new script-headers
##
##--------------------------------------
## usage : newScript.pl [perl|sh|tcsh|csh|ksh]
## standard-'sprache' ist perl
## aufrufparameter auswerten, erster parameter = name
## wenn zweiter parameter dann diesen als shell angeben, sonst perl
## als standard

$PROG = $0;
$SCRIPT = $ARGV[0];
$LANG = $ARGV[1];
$INTERPRETER = "";
$KOMMENTARZEILE = "#####################################################\n";
$KOMMCHAR = "#";

if ( $SCRIPT eq "" ) {
print "Usage: $PROG [perl|sh|tcsh|csh|ksh]\n";
print " Wird keine Script-Sprache angegeben, wird ein perl-Script generiert!\n";
}

################################################
# pruefen, ob datei schon existiert
##
if ( -f $SCRIPT ) {
print "$SCRIPT existiert schon, soll die Datei ueberschrieben werden [ja/nein]?\n";
chop ($abfrage = );
if ( $abfrage eq "nein" ) {
exit;
}
}

## wenn zweiter parameter dann diesen als shell angeben, sonst perl
## als standard
if ( $LANG eq "" ) {
$LANG = "perl";
}

if ( $LANG eq "perl" ) {
$INTERPRETER = "/usr/local/bin/perl -w";
}

if ( $LANG eq "sh" ) {
$INTERPRETER = "/bin/sh";
}

if ( $LANG eq "tcsh" ) {
$INTERPRETER = "/usr/local/bin/tcsh";
}

if ( $LANG eq "ksh" ) {
$INTERPRETER = "/bin/ksh";
}

if ( $LANG eq "csh" ) {
$INTERPRETER = "/bin/csh";
}

##############################################
# Script schreiben;
###
open ( DATEI, "> $SCRIPT" )
or die "Kann Datei nicht oeffnen/anlegen :$!\n";

print DATEI "#!$INTERPRETER\n\n";
print DATEI "$KOMMENTARZEILE";
print DATEI "$KOMMCHAR\n";
print DATEI "$KOMMCHAR File:\t$SCRIPT\n";
print DATEI "$KOMMCHAR Erstellt von $ENV{USER}\n";
print DATEI "$KOMMCHAR\n";
print DATEI "$KOMMCHAR Beschreibung: \n";
print DATEI "$KOMMCHAR\n";
print DATEI "$KOMMENTARZEILE";

close DATEI;

#################################################
# Script ausfuehrbar machen
##
chmod 0755, $SCRIPT;

#################################################
# Editor mit script starten
##
system("$ENV{EDITOR} $SCRIPT");
----------------8<----------------------------------------

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten