Ich suche nach einem Sed-Befehl in Linux, um mehreren .bashrc
Dateien in einem Verzeichnis eine Zeile hinzuzufügen, möchte aber, dass dieser an den Benutzernamen angepasst wird.
directory: /home/user/
sub directory 1: /fredr/
sub directory 2: /jimw/
file under sub directory: .bashrc
line to add: export KDEVARTMP=/home/user/${user}/
Aber ich möchte, dass sich das ${user}
für jedes Unterverzeichnis ändert, in das es geht, z. B.
export KDEVARTMP=/home/user/fredr/
und ich möchte keine Zeilen ersetzen, sondern nur diese Zeile an das Ende der .bashrc
Datei dieses Benutzers anhängen.
Es gibt über 100 Benutzer im Benutzerverzeichnis und Sie möchten diese aktualisierte Zeile einfach auf alle gleichzeitig anwenden.
Antwort1
#!/bin/bash
for udir in /home/user/*; do
echo "export KDEVARTMP='$udir'" >> "$udir"/.bashrc
done;
Nicht mit sed
der von Ihnen gewünschten Qualität, aber es wird seinen Zweck erfüllen.