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

eisbaerin

IPPF-Urgestein
Mitglied seit
29 Sep 2009
Beiträge
11,377
Punkte für Reaktionen
1,064
Punkte
113
Zuletzt bearbeitet:
Versuch es doch einfach mal so:
PS1="7270:$PWD# "

Joe
 
Ja, so geht das wieder!

Besten Dank!

EDIT: Nein, geht leider nicht.
 
Zuletzt bearbeitet:
Zu früh gefreut. Damit bekomme ich die Anzeige nur statisch.
Nach z.B. einem "cd .." soll sich ja der Prompt ändern.
7270:/var/tmp# cd ..
7270:/var#

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.
 
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.
 
@eisbärin, es geht nicht mit der AVM-Busybox, du mußt eine statisch gelinkte Neue einbinden...
 
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.
 
Hi,

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

EDIT: scheint mit der 1.16.1 doch zu funktionieren...
 
Zuletzt bearbeitet:
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.

Schau dir mal die profiles im /var/tmp an...
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?
 
Versuch es doch mal so:
Code:
busybox1.19.4 sh
export PS1="7390:\$(pwd)# "

Joe
 
Ich danke dir für die Idee, aber das geht leider nicht.
 
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?
 
Setz mal den Shell-Afruf nach dem PS1...
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?

BtW, wo hast du die 1.19.4. her?
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

  • busybox1.19.4.zip
    510.7 KB · Aufrufe: 11
  • busybox1.19.4.txt
    1.8 KB · Aufrufe: 4
Zuletzt bearbeitet:
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
 
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.
 
Zuletzt bearbeitet:
Code:
busybox1.19.4 sh
export PS1="7390:\$(pwd)# "

doch es muß so gehen, wie Joe es schrieb.
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.
 
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.
 
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.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.