Você está tentando alterar o conteúdo de /opt/Folder para seu próprio ID do usuário, não é você.
Aqui está o seu comando mais uma vez:
sudo chown -R $USER:$USER /opt/Folder
Isso funciona na linha de comando porque a variável $USER é avaliada antes da execução do comando e, portanto, é executada como esta (supondo que seu nome de usuário seja george ):
sudo chown -R george:george /opt/Folder
Por outro lado, quando você executa um comando com sudo , entre outras coisas, a variável $USER recebe o valor do usuário de destino, que neste caso é root . Portanto, executando sudo bash mysetup.sh , você está executando mysetup.sh como root, então o comando é executado com $USER definido como root e é avaliado como este
sudo chown -R root:root /opt/Folder
A solução no seu caso é evitar a execução de todo o script em sudo e permitir que o script use sudo , quando necessário, para executar comandos específicos com privilégios elevados. Em outras palavras, use bash mysetup.sh em vez de sudo bash mysetup.sh .