В bash
скриптах я обычно делаю так:
#!/bin/bash
if test "$0" != "$BASH_SOURCE"; then
SOURCED=1
MY_NAME=$BASH_SOURCE
else
SOURCED=0
MY_NAME=$0
fi
# do something here
if test "$SOURCED" = "1"; then
# use return instead of exit
return
fi
# do something here only when not sourced
exit
Команда write
— очень простая утилита. Если вы не скажете иначе, он будет писать на первый терминал, на котором вы вошли в систему.
В целевой оболочке используйте tty
, чтобы узнать имя устройства, которое вы там используете. Затем добавьте это имя (без префикса /dev/
)в качестве еще одного параметра в команду write
.
Например, если бы вы обнаружили, что это /dev/pts/2
, вы бы использовали это
write nguyenvanen pts/2