Я пишу bash-скрипт, который должен быть запущен в текущем процессе, чтобы он был полезным.
То есть я хочу убедиться, что скрипт был вызван с помощью source script.sh
или . ./script.sh
а не ./script.sh
.
Для тех из вас, кто не знает разницу, обращайтесь к этому: в чем разница между выполнением сценария Bash и его поиском?
Я знаю , что могу сделать chmod u-x script.sh
поэтому он не может быть выполнен без поиска, но пользователи могут могут распознавать его как сценарий и chmod
самого. Я хотел бы более элегантное решение, если оно существует.
Есть ли способ для сценария распознать, что он не был вызван с source
или .
и выйти с ошибкой?