tentando usar um script bash em wsl com cd, mas não faz nada

tentando usar um script bash em wsl com cd, mas não faz nada

Eu criei o seguinte script apenas para aprender o script bash no wsl salvando como Desktop.sh no nano

#!/bin/bash 
cd /mnt/c/Users/myusername/Onedrive/Desktop

quando estou no shell e digito bash Desktop.sh

nada acontece

Qualquer conselho seria útil, obrigado

Responder1

Seu script, que você invocou com o comando, bash Desktop.shfuncionou perfeitamente, mas você não vê nenhum efeito.

Por que?

Porque o script é executado em um subshell.

A execução do script bash Desktop.shiniciará um subshell e executará qualquer comando dentro do subshell. Assim, o diretório atual é alterado no subshell, e apenas no subshell. Quando o script parar, você retornará ao seu shell, onde nada mudou. O mesmo acontece se você tornou o script executável, eles o executam digitando seu nome de caminho. Nesse caso, o shebang( #!/bin/bash) é lido para determinar qual shell carregar.

Paraverum efeito, você precisa executar o cdcomando noatualconcha. Você pode fazer isso porabastecimentoo roteiro:

source Desktop.sh

ou com uma notação de atalho:

. Desktop.sh

Agora, o efeito é como se você mesmo tivesse digitado os comandos do script no prompt.

informação relacionada