Dynamisches Sourcen von Bash- und Profildateien über mehrere Umgebungen hinweg

Dynamisches Sourcen von Bash- und Profildateien über mehrere Umgebungen hinweg

Ich möchte eine Möglichkeit finden, bei einer interaktiven oder nicht-interaktiven Anmeldung immer das Benutzerprofil und die Bash-Konfigurationsdateien als Quelle zu verwenden, unabhängig von der Dateistruktur. Es wäre auch schön, wenn es keine Rolle spielen würde, welche Linux-Variante auf dem Computer installiert ist.

Beispielsweise hat nicht jeder eine Datei ~/.bashrc oder ~/.bash_profile, aber wenn ja, sollten diese als Quelle angegeben werden.

Mein erster Gedanke wäre so etwas (dies wird programmgesteuert nach einem SSH ausgeführt):

[ -r /etc/profile ] && . /etc/profile;[ -r ~/.bash_profile ] && . ~/.bash_profile;[ -r ~/.profile ] && . ~/.profile;[ -r ~/.bashrc ] && . ~/.bashrc; OTHER COMMANDS...

Allerdings funktioniert das nicht ganz so wie geplant. Die Funktionen aus der .bashrc-Datei scheinen nicht geladen zu werden.

Ich bin für jede Hilfe dankbar! Danke.

Bearbeiten: Vollständigen SSH-Befehl hinzufügen

ssh -p 22 dev@123 '[ -r /etc/profile ] && source /etc/profile;[ -r ~/.bash_profile ] && source ~/.bash_profile;[ -r ~/.profile ] && source ~/.profile;[ -r ~/.bashrc ] && source ~/.bashrc;cd ~/apps/my-project/;npm install;bower install;grunt production;~/start-apps.sh;' In my case, the command 'grunt' isn't being found because it's initiated in the .bashrc file.

verwandte Informationen