Okay ich eine Funktion leite und dies ist der Ausgang I erhalten:sed: |: Keine solche Datei oder das Verzeichnis
sed: |: No such file or directory
viermal.
Hier sind die sed-Befehle in der Funktion lautete:
sed -i "/${1} {/,/}/d" "$7"
sed -i "s/^${3}/${3}\n\n ${1} {\n path \/system\/lib\/soundfx\/boutique\/${4}\n }/g" "$7"
sed -i "/${8} {/,/}/d" "$7"
sed -i "s/^${6}/${6}\n\n ${8} {\n library ${1}\n uuid ${5}\n }/g" "$7"
Ich glaube, dass die Variablen nicht korrekt umgesetzt, nach googeln und stackoverflowing ich die doppelten Anführungszeichen und Klammern hinzugefügt, aber auch, dass das Problem nicht beheben hat.
Beispiel Eingabe in Funktion:
function $DOLSO "$SYSTEM/etc/$AEC" $DOLBYLIBTXT $FILE $DOLBYUUID $DOLBYEFFTXT "$ETC/$AEC" $DOLSO2
Variables in oben Eingabe verwendet:
DOLBYLIBTXT="# Dolby Laboratories, Inc. | www.dolby.com | Library"
DOLBYEFFTXT="# Dolby Laboratories, Inc. | www.dolby.com | Effect"
DOLBYUUID=9d4921da-8225-4f29-aefa-39537a04bcaa
DOLSO=ds
DOLSO2=dsplus
FILE=libdseffect.so
SYSTEM=/system
ETC=$SYS/etc
und SYS=/system
oder /system/system
(abhängig vom Gerät)
AEC=audio_effects.conf
Ich muß die Sed füge Befehle funktionieren ohne Variablen, Beispiel:
sed -i '/ds {/,/}/d' /system/etc/audio_effects.conf
Sie Sir verdienen eine Aufwertung, leider kann ich Ihnen nicht eins geben :( –