Como alterar o diretório usando o script

9

Eu tenho esse script

#!/bin/bash
cd /home/user/somedir
pwd

funciona como esperado, mas eu gostaria que este script me transportasse para / home / user / somedir, mas eu permaneço no mesmo diretório.

Como escrever um script que me transportará (no gnome-terminal) para / home / user / somedir?

    
por UAdapter 01.12.2011 / 12:37

2 respostas

13

Você precisa source do seu script. Caso contrário, ele será executado em um subshell separado, alterando o diretório de trabalho do subshell, mas não do shell em que você o executa.

Para obtê-lo:

. myfile.sh

ou

source myfile.sh

Você pode ler mais aqui

    
por danjjl 01.12.2011 / 13:16
2

Use exec bash no final

  

Um script bash opera em seu ambiente atual ou no de seus   crianças, mas nunca em seu ambiente pai.

No entanto, essa pergunta é frequentemente feita porque alguém quer ser deixado em um prompt bash em um determinado diretório após a execução de um script bash de outro diretório.

Se este for o caso, basta executar uma instância do filho no final do script:

#!/bin/bash
cd /home/user/somedir
exec bash
    
por Serge Stroobandt 21.04.2016 / 13:34

Tags