Чтобы избежать такого поведения, я предлагаю вам поместить весь ваш код в основную функцию, чтобы все загружалось, когда вам это нужно
EG
#!/bin/bash
main() {
if [[ $adapter == "1" ]]; then
usepreferredadapter
elif [[ $adapter == "2" ]]; then
...
fi
}
function usepreferredadapter(){
...
}
main "$@"
ThisКстати, не имеет значения, где вы определяете свой метод, пока вы вызываете метод main внизу вашего скрипта