sed: |: Pas de tel fichier ou répertoire

Bon je lance une fonction et c’est la sortie que je reçois:

sed: |: No such file or directory 

quatre fois.

Voici les commandes sed exécutées dans la fonction:

 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" 

Je crois que les variables ne sont pas correctement implémentées, après avoir googlé et empilé les données, j’ai ajouté les guillemets doubles et les crochets, mais même cela n’a pas corrigé le problème.

Exemple de saisie pour fonctionner:

 function $DOLSO "$SYSTEM/etc/$AEC" $DOLBYLIBTXT $FILE $DOLBYUUID $DOLBYEFFTXT "$ETC/$AEC" $DOLSO2 

Variables utilisées dans l’entrée ci-dessus:

 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 

et SYS=/system ou /system/system (dépend du périphérique)

 AEC=audio_effects.conf 

Je dois append que les commandes sed fonctionnent sans variables, exemple:

 sed -i '/ds {/,/}/d' /system/etc/audio_effects.conf 

Je pense que vous devez citer les autres arguments dans l’invocation de votre fonction.

 function "$DOLSO" "$SYSTEM/etc/$AEC" "$DOLBYLIBTXT" "$FILE" "$DOLBYUUID" "$DOLBYEFFTXT" "$ETC/$AEC" "$DOLSO2" 

Si vous ne les citez pas comme ça, alors vous courez efficacement

 function ds "/system/etc/audio_effects.conf" # Dolby Laboratories, Inc. | www.dolby.com | Library libdseffect.so 9d4921da-8225-4f29-aefa-39537a04bcaa # Dolby Laboratories, Inc. | www.dolby.com | Effect "/system/etc/audio_effects.conf" dsplus 

et si vous tabulez les arguments, la fonction reçoit:

 $1: ds $2: /system/etc/audio_effects.conf $3: # $4: Dolby $5: Laboratories, $6: Inc. $7: | $8: www.dolby.com 

etc. Citer votre utilisation de “$ DOLBYLIBTXT” et ainsi de suite résoudra ce problème.