.titleBar { margin-bottom: 5px!important; }

[Problem] PS1="7270:\$(pwd)# " mit den verschiedenen busyboxen

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von eisbaerin, 28 Jan. 2012.

  1. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    #1 eisbaerin, 28 Jan. 2012
    Zuletzt bearbeitet: 3 Juli 2012
    Dieser Befehl ging bis zur FW xx.04.xx :
    Seit der FW xx.05.xx klappt das "pwd" nicht mehr:
    Kann mir bitte einer helfen:
    Wie muß der Befehl jetzt richtig heißen?
    Oder geht das nicht mehr?
     
  2. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,001
    Zustimmungen:
    47
    Punkte für Erfolge:
    48
    Versuch es doch einfach mal so:
    PS1="7270:$PWD# "

    Joe
     
  3. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    #3 eisbaerin, 28 Jan. 2012
    Zuletzt bearbeitet: 23 Juni 2012
    Ja, so geht das wieder!

    Besten Dank!

    EDIT: Nein, geht leider nicht.
     
  4. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Zu früh gefreut. Damit bekomme ich die Anzeige nur statisch.
    Nach z.B. einem "cd .." soll sich ja der Prompt ändern.
    Also noch mal die Frage an alle Unix/Linux Experte:

    Wie muß ich das in die neuen FW schreiben? Da muß es doch bestimmt eine Lösung geben.

    Ich danke für alle Ideen.
     
  5. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Freetz verwendet als Prompt PS1='\u@\h:\w\$ '. Auch die Beispiele von Dir von funktionieren damit.
    Wenn die dafür notwendige Unterstützung aber in der Busybox von AVM nicht drin ist, Musst Du entweder darauf verzichten oder eine andere Busybox verwenden.
     
  6. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    @eisbärin, es geht nicht mit der AVM-Busybox, du mußt eine statisch gelinkte Neue einbinden...
     
  7. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Ich danke Euch beiden! Jetzt weiß ich immerhin schon mal, daß es an der Busybox liegt.

    Ich probiere da mal eine andere, ansonsten baut AVM vielleicht auch irgendwann eine neue ein,
    die das dann auch nur vielleicht kann.
     
  8. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    #8 doc456, 25 Juni 2012
    Zuletzt bearbeitet: 25 Juni 2012
    Hi,

    es geht trotzdem nicht. Schau dir mal die profiles im /var/tmp an...

    EDIT: scheint mit der 1.16.1 doch zu funktionieren...
     
  9. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Dein EDIT habe ich erst jetzt gelesen.
    Habe es heute auch ausprobiert: mit der 1.16.1 und der 1.19.4 geht es auf der FB7390.
    Nur mit der 1.18.5 von AVM geht es nicht.

    Mehrere? Ich habe da nur mein eigenes.

    Ich habe da jetzt schon den Start einer neuen shell drin, aber dann geht das setzen von PS1 für diese shell nicht.
    .profile:
    Code:
    busybox1.19.4 sh
    PS1="7390:\$(pwd)# "
    Wenn ich diese 2 Zeilen selber an der Konsole eingebe geht es.
    Was muß ich da anders schreiben?
     
  10. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,001
    Zustimmungen:
    47
    Punkte für Erfolge:
    48
    Versuch es doch mal so:
    Code:
    busybox1.19.4 sh
    export PS1="7390:\$(pwd)# "
    Joe
     
  11. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Ich danke dir für die Idee, aber das geht leider nicht.
     
  12. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Moin,

    doch es muß so gehen, wie Joe es schrieb. Ich hänge das zudem noch an die profile, die ich aus /etc nach /tmp hole.

    Setz mal den Shell-Afruf nach dem PS1...

    BtW, wo hast du die 1.19.4. her?
     
  13. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    #13 eisbaerin, 30 Juni 2012
    Zuletzt bearbeitet: 30 Juni 2012
    Ja, hura, so geht es:
    Code:
    export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/var/tmp
    export PS1="7390:\$(pwd)# "
    alias ls='ls -a --color=auto'
    alias ll='ls -la --color=auto'
    busybox1.16.1 sh
    
    Ich habe aber wieder die 1.16.1 genommen, da die 1.19.4 das "ls --color" nicht kann.
    Ein bischen Farbe ist schon ganz nett. ;)

    Wie bekomme ich jetzt die "alias" in die neue shell?
    Ich habe es vor und nach dem shell Aufruf und jeweils mit und ohne "export" probiert.
    Gibt es da auch eine Lösung?

    Aus irgend einem Beitrag hier im Forum (27.6. 6:00), da ging es aber um telnet und die Datei hieß telnet.txt oder telnet.zip
    Ich mich aber gewundert, daß sie nicht telnetd heist und etwas groß ist, also mal genauer angeschaut.

    Ist nicht gezipt, nur die Endung .zip entfernen!
     

    Anhänge:

  14. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Hallo,

    ich hab es so gemacht:
    Code:
    # PATH für scp Exportieren
    cp /etc/profile /var/tmp/profile
    echo export PATH=$PATH:/var/tmp >>/var/tmp/profile
    echo "alias dir='ls -la --color=yes'" >>/var/tmp/profile
    echo "alias cls='/var/tmp/busybox clear'" >>/var/tmp/profile
    echo 'export PS1="7390:\$(pwd)# "' >>/var/tmp/profile
    chmod 644 /var/tmp/profile
    mount -o bind /var/tmp/profile /etc/profile
    sleep 2
     
  15. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    #15 eisbaerin, 30 Juni 2012
    Zuletzt bearbeitet: 30 Juni 2012
    Und vorher ein:
    Code:
    mount -o bind /var/tmp/busybox1.16.1 /bin/busybox
    und das alles in die debug.cfg?

    Und hoffen, daß der Rest mit dieser busybox klar kommt?!?

    EDIT:
    Jetzt hab' ich meine Lösung: Nur den Befehl oben in die debug.cfg.
    Dann geht auch meine alte ".profile" wieder!

    EDIT2:
    Deine Lösung geht aber auch bei telnet. Meine nur bei SSH.
    Werde ich wohl doch mal ändern.
     
  16. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Na klar, mount auf die busybox im tmp... ;)
     
  17. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ganz im Gegenteil, es kann so nicht funktionieren.
    Der Grund ist, dass die erste Zeile eine interaktive Shell startet. Die interaktive Shell erwartet Eingaben von der Tastatur. Die zweite Zeile wird erst dann ausgeführt, wenn die Shell beendet wird. Wenn es um Variablen im Environement geht, würde es funktionieren, die Zeile mit dem Export vor dem Aufruf der Shell auszuführen. Das geht aber nicht für Alias Definitionen. Generell ist der richtige Platz für die Initialisierung der Shell die profile Datei, entweder die globale oder die individuelle.
     
  18. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Recht hast du, ich hatte nicht auf den Shellstart geachtet, aber in Post#12 korrigiert! :)

    EDIT: ...ich hab ja alles in der profile. ;)
     
  19. eisbaerin

    eisbaerin IPPF-Promi

    Registriert seit:
    29 Sep. 2009
    Beiträge:
    6,312
    Zustimmungen:
    123
    Punkte für Erfolge:
    63
    Beruf:
    Ursa maritimus
    Ort:
    Nordpol
    Ihr seid euch sicher, daß man eine andere busybox global für die FB festsetzen kann?
    Ich habe Angst, daß die FB dann instabiel wird, da ja einige Befehle fehlen, z.B. "brctl".
    Wird die busybox denn nur für die Konsole gebraucht oder greifen da auch andere Programme und Skripte drauf zu?

    @doc456: In welcher Datei und wie startest du die andere busybox?

    @RalfFriedl: Siehst du einen Weg, wie ich die "alias" in die neue shell bekomme,
    wenn ich die neue busybox nicht mounte?

    Denn ich denke, es ist besser die andere busybox nur für die Telnet- oder SSH-session zu starten.
     
  20. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Busybox enthält fast alle Programme auf der Box, die nicht von AVM sind. Welche das sind, lässt sich leicht feststellen, wenn man /bin, /sbin, /usr/bin und /usr/sbin nach Links auf Busybox durchsucht.
    Fehlende Programme in der Busybox würden die Box nicht instabil machen, sondern bestimmte Funktionen wären grundsätzlich nicht verfügbar.
    Mit der Freetz Konfiguration sollte man auf der sicheren Seite sein, da wird die Busybox auch ersetzt, wenn es Probleme gäbe hätte sich schon jemand gemeldet und die entsprechende Funktion wäre hinzugefügt worden.

    Wie schon geschrieben ist der bevorzugte Weg zu Initialisierung der Shell die Profile Datei. Es spielt dafür keine Rolle, ob die Busybox übermountet ist oder nicht.

    Wenn Deine ursprüngliche Shell Aliase kann, gibt es auch die Möglichkeit, einen alias zu definieren, der den Prompt bei jedem cd anpasst.