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.sh
funcionou perfeitamente, mas você não vê nenhum efeito.
Por que?
Porque o script é executado em um subshell.
A execução do script bash Desktop.sh
iniciará 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 cd
comando 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.