makescript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
buli_75
Beiträge: 96
Registriert: 06.11.2006 19:48:39
Wohnort: Essen
Kontaktdaten:

makescript

Beitrag von buli_75 » 06.04.2007 12:41:28

Hallo!
Ich will mir ein script schreiben, welches nach Aufruf einen Editor startet, und nach abspeichern der Datei das Format und die Userrechte setzt.
Soweit klappt auch alles, bis auf dass das Format als Dateiname gespeichert wird.
(Ich hoffe, ich hab das verständlich rübergebracht)

Aber seht selbst:

Code: Alles auswählen

#! /bin/bash
# makescript
#
# Verzeichnis, in dem sich das Script befinden soll
dir_sh=$HOME/scripting/sh
dir_pl=$HOME/scripting/perl

# Editor, der verwendet werden soll
editor=/usr/bin/joe

# Argument angeben
if [ -z ${1} ]; then
 echo "Usage: ${0} Name|Format "
  exit 1
   fi
   
   
# Editor öffnen, und Datei anlegen
sh_script() {
${editor} ${dir_sh}/${1}.sh
}

pl_script() {
${editor} ${dir_pl}/${1}.pl
}

# Ausführrechte für User setzen 
mod_sh() {
chmod 700 ${dir_sh}/${1}.sh
}

mod_pl() {
chmod 700 ${dir_pl}/${1}.pl
}

# Bedingungen
case ${2} in

"sh")
sh_script && mod_sh
;;

"pl")
pl_script && mod_pl
;;

*)
echo "Usage: ${0} Name|Format "
 exit 1
;;

esac
Also das Problem ist, dass das Format (.sh, .pl) als Dateiname angesehen wird, und ${1} nicht beachtet wird.
Irgendwo ist da ein Denkfehler von mir.
Kann mir wer auf die Sprünge helfen?
GNU/Linux Debian lenny/sid

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: makescript

Beitrag von gms » 06.04.2007 13:01:06

buli_75 hat geschrieben: Also das Problem ist, dass das Format (.sh, .pl) als Dateiname angesehen wird, und ${1} nicht beachtet wird.
das Problem ist, daß du den Dateinamen nicht an die Funktionen übergibst

Code: Alles auswählen

case ${2} in 

"sh") 
sh_script "$1" && mod_sh "$1"  
;; 

"pl") 
pl_script  "$1" && mod_pl  "$1" 
;; 

*) 
echo "Usage: ${0} Name Format " 
 exit 1 
;; 
esac
Gruß
gms

Benutzeravatar
buli_75
Beiträge: 96
Registriert: 06.11.2006 19:48:39
Wohnort: Essen
Kontaktdaten:

Beitrag von buli_75 » 06.04.2007 13:09:11

Ahja, logisch irgendwie.
Aber bis ich darauf gekommen wäre...

Danke!
GNU/Linux Debian lenny/sid

Antworten