Это могло бы быть неуклюже, но...
for PERSON in $(who | grep -v USER | grep -v load | awk '{print $1}');
do echo $PERSON
ps -u $PERSON
done
Используйте новый исходный файл, например /home/user/.rcforssh
#rc for ssh
. /home/user/.bashrc
. /home/user/venv/bin/activate #or whichever location
и войдите с помощью
ssh -t user@host "cd /path/to/dir ; /bin/bash --rcfile /home/user/.rcforssh"
Примечание: исходный код
не является POSIX, а .
есть.
ОБНОВЛЕНИЕ после обсуждения, определяющего потребности OP:
Для создания и удаления измененного исходного файла rcforssh
на лету можно использовать:
ssh -t user@host "cd /path/to/dir ; echo '. ~/.bashrc ; . s ; rm rcforssh' > rcforssh ; /bin/bash --rcfile rcforssh"
т.е. создание исходного файла с помощью команды echo
и добавление удаления в указанный файл.