Twilo: Befehle funktionieren in Script nicht, auf der Bash schon

Hallo,

führe ich folgende Befehle auf der Bash aus, werden die Passwörter in der Datenbank geändert

cd /root/installation/dateien/;vadmin=cat /opt/pdadmin/etc/pdadmin.conf |grep "password" | cut -f 2 -d '"';sed "s/ROOTPW/cat /opt/pdadmin/etc/mysql_rootpw.conf/"  sql.txt > sql.txt1;sed "s/VADMINPW/$vadmin/"  sql.txt1 > sql.txt2;mv /etc/inittab.bak /etc/inittab;kill -1 1;/usr/local/pd-admin2/bin/mysql -u root -pcat /opt/pdadmin/etc/mysql_rootpw.conf.old --database=mysql --host=localhost < sql.txt2;

wenn ich die Befehle jedoch in ein Bash-Script schreibe, werden die Passwörter nicht geändert

woran könnte das liegen?

mfg
Twilo

  1. hallo,

    führe ich folgende Befehle auf der Bash aus

    Wow, schönes Beispiel dafür, was man mit Pipes alles anfangen kann.

    wenn ich die Befehle jedoch in ein Bash-Script schreibe, werden die Passwörter nicht geändert

    Was hat das jetzt mit "Server" zu tun? Wie rufst du dein bash-Script auf? Was passiert, wenn du es auf der Konsole mit ./bashscript.sh laufen läßt - welche log-Einträge (eventuell ein tail mitlaufen lassen) gibt es da?

    `
    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hallo,

      führe ich folgende Befehle auf der Bash aus

      Wow, schönes Beispiel dafür, was man mit Pipes alles anfangen kann.

      dann hast du noch nicht die anderen Scripte gesehen ;-)
      ich habe einen kompletten Server nur per Scripte installiert, partitioniert, formatiert, per Aptitude Pakete de/installiert, Config-Dateien angepasst, Datenbanken, eMail  und Home-Verzeichnisse per rsync rüberkopoiert, etc.

      ich habe dabei gemerkt, dass die Bash ziemlich mächtig ist :-)

      wenn ich die Befehle jedoch in ein Bash-Script schreibe, werden die Passwörter nicht geändert

      Was hat das jetzt mit "Server" zu tun?

      eine bessere Kategorie ist mit nicht eingefallen

      Wie rufst du dein bash-Script auf? Was passiert, wenn du es auf der Konsole mit ./bashscript.sh laufen läßt - welche log-Einträge (eventuell ein tail mitlaufen lassen) gibt es da?

      wenn diese Befehle in ein Bashscript drin stehen, wird das Passwort nicht geändert, ich denke mal, dass irgendeine Variable nicht richtig gesetzt wird, tippe ich jedoch alles direkt auf der Bash ein, wird das Passwort geändert

      da der Serverwechsel um 6:30 abgeschlossen sein mußte, hatte ich diese Befehle direkt auf der Shell ausgeführt.

      Grüße aus Berlin! :)

      mfg
      Twilo

  2. Hallo Twilo.

    Da es dir beim letzten Mal offenbar nicht aufgefallen ist hier noch einmal in Worten:

    Hallo,

    führe ich folgende Befehle auf der Bash aus, werden die Passwörter in der Datenbank geändert

    vadmin=cat /opt/pdadmin/etc/pdadmin.conf |grep "password" | cut -f 2 -d '"';

    $ cat datei | grep muster

    … ist „useless use of cat“. Folgendes genügt vollkommen:

    $ grep datei muster

    Das nur als Anmerkung am Rande.

    Einen schönen Dienstag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
    1. Hallo,

      Da es dir beim letzten Mal offenbar nicht aufgefallen ist hier noch einmal in Worten:

      führe ich folgende Befehle auf der Bash aus, werden die Passwörter in der Datenbank geändert

      vadmin=cat /opt/pdadmin/etc/pdadmin.conf |grep "password" | cut -f 2 -d '"';

      $ cat datei | grep muster

      … ist „useless use of cat“. Folgendes genügt vollkommen:

      $ grep datei muster

      Das nur als Anmerkung am Rande.

      das war mir schon aufgefallen, jedoch habe ich es wohl versäumt auch in diesem Script (diesen Befehl hab ich in mehreren Scripten) abzuändern

      in dieser Version hatte es auch nur direkt auf der Bash funktioniert
      cd /root/installation/dateien/;vadmin=grep '$password' /opt/pdadmin/etc/pdadmin.conf | cut -f 2 -d '"';sed "s/ROOTPW/cat /opt/pdadmin/etc/mysql_rootpw.conf/"  sql.txt > sql.txt1;sed "s/VADMINPW/$vadmin/"  sql.txt1 > sql.txt2;mv /etc/inittab.bak /etc/inittab;kill -1 1;/usr/local/pd-admin2/bin/mysql -u root -pcat /opt/pdadmin/etc/mysql_rootpw.conf.old --database=mysql --host=localhost < sql.txt2;

      mfg
      Twilo