Sie brauchen keinen $()
Operator in sudo sh -c ...
Befehlen.
Wenn Sie diesen Operator für sed '$a\' $ > $.bak
dann sed
und Umleitung in Datei verwenden, werden die >
Befehle zuerst unter den Rechten von Benutzer b ausgeführt, die zum Schreiben nicht ausreichen. Und erst danach sudo sh -c
erfolgt die Ausgabe der vorherigen Befehle.
Verwenden Sie sudo sh -c "sed ..."
und sudo sh -c "echo ..."
stattdessen.