Oliver, Oliver Wiemer wrote:
Hallo Leute,
es ist zum auswachsen. Ich habe das Script nach Euren vorschlägen geändert. Die Maschine mit Suse10 steht im Keller und ich habe das ganze via ssh auf der Kiste gemacht. Vom Notebook aus im Terminal geht es, lokal im Terminal wird der Cursur nur ein Stück nach unten versetzt.
Ich finde den Knopf nicht, nach was ich Suchen soll. mktemp erstellt die Datei. dialog geht auch.
Hat noch jemand eine Idee.
Ändere doch 'mal die erste Zeile in #!/bin/bash -x dann siehst du die Kommandos, die ausgeführt werden. Gruss, Peter.
Gunreben, Peter (Peter) schrieb:
Ändere doch 'mal die erste Zeile in
#!/bin/bash -x dann siehst du die Kommandos, die ausgeführt werden.
Hallo, so sieht das Script aus: #!/bin/bash -x #TMP="/tmp/smb.tmp" TMP=$(mktemp) dialog --backtitle Benutzer --title Details \ --radiolist "Bitte wählen Sie \ Hier können Sie Benutzer anlegen und ändern" 16 60 5 \ "neu" "User anlegen" off \ "ändern" "User ändern" off \ "löschen" "User löschen" off 2>$TMP ACT=$(cat $TMP) if [ -e $TMP ] ; then ACT=$(cat $TMP) else echo "$TMP existiert nicht" exit fi #rm $TMP if [ -z ACT ] ; then echo Abgebrochen exit fi if [ "$ACT" = "neu" ] ; then dialog --inputbox "Bitte Benutzernamen eingeben" 30 50 2> $TMP USER=$(cat $TMP) #rm $TMP if [ -z $USER ] ; then echo Abgebrochen exit fi dialog --inputbox "Bitte Passwort eingeben" 30 50 2> $TMP PASSWD=$(cat $TMP) #rm $TMP if [ -z $PASSWD ] ; then echo Abgebrochen exit fi #echo "$USER" "$PASSWD" useradd $USER -p $PASSWD -s /bin/false -d /home/$USER mkdir /home/$USER chown $USER.users /home/$USER printf "$PASSWD\n$PASSWD\n" | smbpasswd -a -s $USER fi if [ "$ACT" = "ändern" ] ; then dialog --inputbox "Bitte Passwort eingeben" 30 50 2> $TMP PASSWD=$(cat $TMP) #rm $TMP if [ -z $PASSWD ] ; then echo Abgebrochen exit fi printf "$PASSWD\n$PASSWD\n" | smbpasswd -a -s $PASSWD fi if [ "$ACT" = "löschen" ] ; then dialog --inputbox "Bitte Username zum löschen eingeben" 30 50 2> $TMP USER=$(cat $TMP) if [ -z $USER ] ; then echo Abgebrochen exit fi smbpasswd -x $USER userdel $USER echo "loesche User" $USER fi Local mit oder ohneX kommt folgende Fehlermeldung: linux:~ # ./smbuser ++ mktemp + TMP=/tmp/tmp.PSyvox6628 + dialog --backtitle Benutzer --title Details --radiolist 'Bitte wï¿œlen Sie Hier kï¿œnen Sie Benutzer anlegen und ï¿œdern' 16 60 5 neu 'User anlegen' off $'\344ndern' 'User ï¿œdern' off $'l\366schen' 'User lï¿œchen' off ++ cat /tmp/tmp.PSyvox6628 + ACT=' Can'\''t make sub-window at (26,24), size (5,54).' + '[' -e /tmp/tmp.PSyvox6628 ']' ++ cat /tmp/tmp.PSyvox6628 + ACT=' Can'\''t make sub-window at (26,24), size (5,54).' + '[' -z ACT ']' + '[' ' Can'\''t make sub-window at (26,24), size (5,54).' = neu ']' + '[' ' Can'\''t make sub-window at (26,24), size (5,54).' = $'\344ndern' ']' + '[' ' Can'\''t make sub-window at (26,24), size (5,54).' = $'l\366schen' ']' linux:~ # Wie gesagt, ich habe den Anfang via ssh mit dem Notebook entworfen, und wenn ich hier unter KDE3.4x die Console öffne mich via ssh connecte startet das Script nur nicht an der Susi. Viele Grüße Olli
Oliver Wiemer schrieb:
Gunreben, Peter (Peter) schrieb:
Ändere doch 'mal die erste Zeile in
#!/bin/bash -x dann siehst du die Kommandos, die ausgeführt werden.
Hallo,
so sieht das Script aus:
#!/bin/bash -x #TMP="/tmp/smb.tmp" TMP=$(mktemp)
dialog --backtitle Benutzer --title Details \ --radiolist "Bitte wählen Sie \ Hier können Sie Benutzer anlegen und ändern" 16 60 5 \ "neu" "User anlegen" off \ "ändern" "User ändern" off \ "löschen" "User löschen" off 2>$TMP
#ACT=$(cat $TMP) weg damit
if [ -e $TMP ] ; then ACT=$(cat $TMP) else echo "$TMP existiert nicht" exit fi
#rm $TMP
if [ -z ACT ] ; then ^ $ACT
echo Abgebrochen exit
[...]
Local mit oder ohneX kommt folgende Fehlermeldung: linux:~ # ./smbuser ++ mktemp + TMP=/tmp/tmp.PSyvox6628 + dialog --backtitle Benutzer --title Details --radiolist 'Bitte wï¿œlen Sie Hier kï¿œnen Sie Benutzer anlegen und ï¿œdern' 16 60 5 neu 'User anlegen' off $'\344ndern' 'User ï¿œdern' off $'l\366schen' 'User lï¿œchen' off
++ cat /tmp/tmp.PSyvox6628 + ACT=' Can'\''t make sub-window at (26,24), size (5,54).' + '[' -e /tmp/tmp.PSyvox6628 ']' Das ist die Fehlermeldung von dialog, es kann das Fenster nicht an dieser Position erstellen. Hmmm, das sind vermutlich die Umlaute. Welche locale hast Du eingestellt? Einfach mal 'locale' eingeben.
Versuchs mal am Anfang des scriptes (unter dem shebang) #!/bin/bash LC_ALL=de_DE@euro Oder lass die Umlaute weg: ue ae oe Bei mir läuft das script, solange LC_ALL=de_DE@euro eingestellt ist. Mit LC_ALL=C gehts nicht... [...]
Wie gesagt, ich habe den Anfang via ssh mit dem Notebook entworfen, und wenn ich hier unter KDE3.4x die Console öffne mich via ssh connecte startet das Script nur nicht an der Susi.
Hast Du das evtl. mit einem Windows oder DOS Editor bearbeitet? -- Gruss Bernd
participants (3)
-
Bernd Obermayr
-
Gunreben, Peter (Peter)
-
Oliver Wiemer