In Linux-Mint 18, welche Dateien werden beim Start einer nicht interaktiven Shell gelesen?linux-mint nicht-interaktive Shell Start-Dateien
Ich versuche, einen Befehl via ssh auszuführen, wie ssh [email protected] coolcommand
aber ich erhalte eine Fehlermeldung wie bash: coolcommand: command not found
Die Datei coolcommand
in /home/norio/bin/
sitzt, und ich die PATH
Umgebungsvariable setzen dieses Verzeichnis in /home/norio/.bashrc
enthalten und diese .bashrc
wird so eingestellt, dass sie von /home/norio/.profile
und /home/norio/.bash_profile
bezogen wird. Es scheint jedoch, dass keine dieser Dateien gelesen wird, wenn die nicht interaktive Remote-Shell gestartet wird. Tatsächlich scheint /etc/profile
keine dieser Dateien zu finden. Muss ich diese Datei bearbeiten? Oder gibt es eine andere Möglichkeit, einen Startprozess für die nicht-interaktive Shell als Nicht-Root-Benutzer einzurichten?
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Fun Tatsache: 'coolcommand' ist nicht' bash', also hat es keine Arbeit mit '~/.bashrc' oder bash-bezogenen Dateien. –
@IporSircer Dann welche Shell behandelt den Remote-Befehl von ssh übergeben? – norio
Standardmäßig führt sshd 'bash' nach der Anmeldung aus, wenn Sie keinen Befehl angeben. Wenn Sie einen Befehl angeben, wird sshd ** anstelle von ** bash oder anderen Shells oder anderen Programmen ausgeführt. Du bekommst, was du willst: run 'coolcommand' –