O comando cd simplesmente não funciona
#!/bin/bash
cd $HOME
clear
echo -n "$USER "
echo -n "uptime -p
"
echo -n "date +%d/%m/%y
"
echo date +%T
O comando cd simplesmente não funciona
#!/bin/bash
cd $HOME
clear
echo -n "$USER "
echo -n "uptime -p
"
echo -n "date +%d/%m/%y
"
echo date +%T
como não funciona?
vc esperava que o seu shell corrente mudasse a “diretorio atual” para o seu $HOME
?
isso não vai acontecer pois o seu shell script é executado em um sub-processo e este não consegue alterar as propriedades do processo corrente. é uma questão de como as coisas são executadas:
shell corrente ( process id 1000 ) -> sub shell ( process id 1001 ) que vai interpretar o conteudo do script.
se vc quer alterar as propriedades do shell corrente, vc precisa executar o script no shell corrente. vc faz isso usando o comando source
ou .
bash$ cat foo
cd /tmp
bash$ source foo
# agora vc esta no /tmp
ok, entendi, mas como faço isso? Não entendi esse exemplo que me mando.
vc faz source script.sh
ao inves de ./script.sh