Wechsel von ash zu bash, was ist zu beachten oder sein lassen?

Status
Für weitere Antworten geschlossen.

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hi@all
ich habe mir nach 3 Jahren Abstinenz wieder eine Synology zugelegt, 412+.
Jetzt habe ich alles umgezogen von meinem Linuxserver und läuft auch alles soweit. Was ich jedoch nicht läuft sind diverse Scripts von mir.
Da ich nicht so der König bin was Scriping bzw. das programmieren selbiger angeht, habe ich da so meine Fragen dazu.
Die Script laufen nicht mehr, liegt wohl daran dass ash nicht richtig interpretiert, z.B. ash: =~: unknown operand
Meine Scripts sind im Kopf zumeist
#!/bin/bash wenige auch mit #!/bin/ksh (die funktionieren auch mit ash)
Ich habe mir via ipkg bash Version 3.2.49-1 installiert. Was muss ich alles tun und beachten, wenn ich umstellen will auf bash? Ich meine mich noch schwach erinnern zu können, dass man da einiges beachten muss, ansonsten hat man sich beim Verlust von opt schnell mal ausgeschlossen (root PW) etc.
Was ist alles zu beachten, oder gibt es etwa einen anderen Weg der besser/einfacher ist?
Vielen Dank vorab für eure Hilfe bzw. Ratschläge
Gruß Andreas
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.034
Punkte für Reaktionen
289
Punkte
393
Hallo,
Du hast ein gutes Gedächtnis :). Meiner Meinung nach wäre der sicherste Weg /opt/bin/bash nach /usr/local/bin/bash zu kopieren und die Scripte entsprechend anzupassen.
Rich (BBCode):
#!/usr/local/bin/bash
wenn das verzeichnis noch nicht vorhanden ist dann einfach als root anlegen. Alles unter /usr/local überlebt ein Firmwareupgrade und die Shell ist auch erreichbar wenn Volume1 (@optware) mal streikt.

Gruß Götz
 

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hi,

danke erst einmal. Das war wohl der einfache Schritt. Script habe ich auf den neuen Pfad zur bash angepasst. Jetzt nach Ausführung ist die ash immer noch Priorisiert (sehe ich wenn ich script ausführe).
Jetzt muss ich ja wahrscheinlich die /etc/profile noch bearbeiten (#/etc/profile: system-wide .profile file for ash.), da die ja global ist, oder?
Muss ich darin den Path noch anpassen? Wenn ich mir den anschaue, dann ist das doch okay, oder etwa nicht?

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH

Sorrry wenn ich evnetuell "komisch" erscheinende Fragen stelle, aber ist eben nicht mein Spezialgebiet :(

Gruß Andreas
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.034
Punkte für Reaktionen
289
Punkte
393
Hallo,
Jetzt nach Ausführung ist die ash immer noch Priorisiert (sehe ich wenn ich script ausführe).
gib bitte man ein Beispiel, vermutlich Befehle die nicht direkt in der bash integriert sind.

Gruß Götz
 

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hi,

als Beispiel

ash: =~: unknown operand
Da sind im Script Sequenzen wie......if [[ "$datei_nummer" =~ [0-9] ]]; then

Das ganze lief vorher auf meinem Server tadellos.

Gruß Andreas
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!