So fügen Sie mehreren Dateien im Verzeichnis eine Zeile hinzu, während Sie den Benutzernamen hinzufügen

So fügen Sie mehreren Dateien im Verzeichnis eine Zeile hinzu, während Sie den Benutzernamen hinzufügen

Ich suche nach einem Sed-Befehl in Linux, um mehreren .bashrcDateien 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 .bashrcDatei 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 sedder von Ihnen gewünschten Qualität, aber es wird seinen Zweck erfüllen.

verwandte Informationen