Если у вас есть личный каталог bin / в вашем пути (например, / home / user / bin, поместите туда сценарий оболочки с именем «script» (то же имя, что и двоичный файл), со следующим содержимым:
#!/bin/bash
export SCRIPT_RUNNING=1
exec /usr/bin/script # full path to your script(1) binary
Теперь, во время выполнения скрипта, вы можете проверить переменную среды SCRIPT_RUNNING и делать все, что вы хотите, основываясь на ней.
РЕДАКТИРОВАТЬ:
На самом деле, есть гораздо более простой способ. Следующее говорит само за себя, создайте три файла, ~ / bin / script, ~ / bin / script-shell и ~ / .scriptrc:
~ > ls ~/bin/script ~/bin/script-shell ~/.scriptrc
-rw-r--r-- 1 roadowl users 23 Oct 18 16:52 /home/roadowl/.scriptrc
-rwx------ 1 roadowl users 49 Oct 18 16:53 /home/roadowl/bin/script
-rwx------ 1 roadowl users 56 Oct 18 16:55 /home/roadowl/bin/script-shell
~/bin > cat script
#!/bin/bash
exec /usr/bin/script -c script-shell
~/bin > cat script-shell
#!/bin/bash
exec /bin/bash --rcfile /home/bjd/.scriptrc
~/bin > cat ~/.scriptrc
export PS1="[script] "
Если ваша текущая оболочка - bash, не забудьте запустить ее hash -r
после создания этих файлов, чтобы убедиться, что ~ / bin / script запускается при вводе 'script' в качестве команды (проверьте с помощью which script
).
Как и раньше, обратите внимание, что у вас должен быть ~ / bin в вашем PATH, предшествующий стандартному пути, чтобы это работало.
script
имеет открытый tty, также может привести к ложному срабатыванию.