Эти вопросы касаются функциональности source
: в чем разница между выполнением сценария Bash и его поиском?
Что делает «источник»?
но я не понимаю, почему при вызове source
в скрипте передаются аргументы скрипта. Например, у меня есть эти 2 сценария:
caller.sh
source sourced.sh
source sourced.sh ""
sourced.sh
echo [$*]
Когда я делаю
./caller.sh arg1 arg2
я получил
[arg1 arg2]
[]
"arg1 arg2" передается в sourced.sh, хотя я не указал source sourced.sh $*
.
Зачем?
Я обнаружил, что добавление "" предотвращает передачу аргументов. Это рекомендуемый способ предотвращения передачи аргументов?