Menü +

find ./ -type f -name '*source-string*'

bash |sudo with terminal | another user env | env

#!/bin/bash
# Version: 1.0.1
# Description:
#!/bin/bash
  sudo su - remoteuser<< EOF > /dev/null
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    PATH=$PATH:$HOME/bin
    PATH=$PATH:$HOME/SCRIPT
    export PATH
    /home/user/SCRIPT/script.sh > /dev/null

    exit
EOF


Aufruf von privaten Konfigurationen unter Red Hat Linux 5:

#                | /bin/bash     |  /bin/sh   |  /bin/zsh  |  /bin/tcsh  |  /bin/ksh    |  /bin/csh |
# --------------------------------------------------------------------------------------------------
# login shell    | .bash_profile | .profile   | .zprofile  | .login      | .profile     |  .login   |
#                | .bashrc       |            | .zshenv    | .tcshrc     | .kshrc       |  .tcshrc  |
# --------------------------------------------------------------------------------------------------
# nonlogin-shell | .bashrc       | $ENV       | .zshenv    | .tcshrc     | .kshrc       |  .tcshrc  |
#                |               |            |            |             |              |           |

Bis auf /bin/sh funktionieren die markierten Dateien bei:

Login-Shell    : su - user  
Non-Login-Shell: su user  

Bei /bin/sh muss als Login-Shell gestartet werden oder vorher die Variable $ENV auf eine zu sourcende Datei verweisen

Beispiele:

Login-Shell
su - oracle -s /bin/bash
su - oracle -s /bin/sh
su - oracle -s /bin/zsh
su - oracle -s /bin/csh
su - oracle -s /bin/tcsh
su - oracle -s /bin/ksh

Non-Login-Shell
su oracle -s /bin/bash
su oracle -s /bin/sh (hier werden keine privaten Einstellungen geladen, es sei denn $ENV zeigt auf eine Datei )
su oracle -s /bin/zsh
su oracle -s /bin/csh
su oracle -s /bin/tcsh
su oracle -s /bin/ksh

[[email protected]] XYZ_LIBRARY_PATH=`su - oracle -c 'source .zshrc; echo $XYZ_LIBRARY_PATH'`
[[email protected]] echo $XYZ_LIBRARY_PATH
/oracle/product/11.2.0.4/db/lib
[[email protected]]