Sed script

1. Sed script

Shady XV
shadyxxv

(usa Ubuntu)

Enviado em 10/03/2021 - 16:29h

Olá, estou tentando fazer um script. Mas apenas a parte de inserir as variáveis de ambiente não funciona. Tentei utilizar o sed para inserir essas informações no bash profile e não grava os dados no arquivo. Alguém pode me ajudar?

Segue o exemplo:



  


2. Re: Sed script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/03/2021 - 18:03h


shadyxxv escreveu:

Olá, estou tentando fazer um script. Mas apenas a parte de inserir as variáveis de ambiente não funciona. Tentei utilizar o sed para inserir essas informações no bash profile e não grava os dados no arquivo. Alguém pode me ajudar?

Segue o exemplo:

shadyxxv, posta em texto, não da para ver os detalhes na imagem!


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________





3. Re: Sed script

Shady XV
shadyxxv

(usa Ubuntu)

Enviado em 10/03/2021 - 20:13h


#!/bin/bash

## Removendo travas eventuais do apt ##

sudo rm /var/lib/dpkg/lock-frontend ; sudo rm /var/cache/apt/archives/lock ;

## Inserindo variaveis de ambiente##
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" $HOME/.bash_profile

## Atualizando o repositório ##

sudo apt update &&

## Instalando pacotes e programas do repositório deb do Ubuntu ##

sudo apt install npm yarn default-jre adb -y &&

## Instalando pacotes npm ##

sudo npm install -g react-native-cli &&

## Adicionando repositório Flathub ##

##flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo &&

## Instalando Apps do Flathub ##

##sudo flatpak install flathub com.google.AndroidStudio -y &&

## Atualização do sistema ##

sudo apt update && sudo apt dist-upgrade -y && sudo apt autoclean -y && sudo apt autoremove -y &&

#Fim do Script ##

echo "Finalizado"



4. Re: Sed script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/03/2021 - 21:09h

A intenção do comando:
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" $HOME/.bash_profile
É inserir esses dados no .bash_profile?
Visto que o "sed" não está fazendo "substituição",
use um:
echo " VARIAVEIS" >> $HOME/.bash_profile
O que é esse"\$aexport"?
Se quer que seja colocado dessa forma, tem que escapar a \
\\\$aexport

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________



5. Re: Sed script

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

Enviado em 11/03/2021 - 00:16h

Ele não foi claro no que quer o bastante.
Se pelo menos o rc.bash estivesse melhor comentado.


CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


6. Re: Sed script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 11/03/2021 - 02:46h


shadyxxv escreveu:
## Inserindo variaveis de ambiente##
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools"


use o echo para inserir no arquivo

echo "PATH="/dir/1:/dir/2:/dir/3:/dir/4:/dir/5"" >> $HOME/.bash_profile 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




7. Re: Sed script

Shady XV
shadyxxv

(usa Ubuntu)

Enviado em 11/03/2021 - 10:50h


Mauriciodez escreveu:


shadyxxv escreveu:
## Inserindo variaveis de ambiente##
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools"


use o echo para inserir no arquivo

echo "PATH="/dir/1:/dir/2:/dir/3:/dir/4:/dir/5"" >> $HOME/.bash_profile 




Coloquei dessa forma:

## Inserindo variaveis de ambiente##

echo "export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" >> $HOME/.bash_profile ;

Pelo terminal usando o echo funciona normalmente, mas quando coloco pra executar junto aos outros comandos que fazem parte do shell script, não funciona.


8. Re: Sed script

Shady XV
shadyxxv

(usa Ubuntu)

Enviado em 11/03/2021 - 10:51h


aguamole escreveu:

Ele não foi claro no que quer o bastante.
Se pelo menos o rc.bash estivesse melhor comentado.


CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


Preciso inserir as váriaveis de ambiente com shell script


9. Re: Sed script

Shady XV
shadyxxv

(usa Ubuntu)

Enviado em 11/03/2021 - 10:53h


msoliver escreveu:

A intenção do comando:
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" $HOME/.bash_profile
É inserir esses dados no .bash_profile?
Visto que o "sed" não está fazendo "substituição",
use um:
echo " VARIAVEIS" >> $HOME/.bash_profile

______________________________________________________________________


## Inserindo variaveis de ambiente##

echo "export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" >> $HOME/.bash_profile ;


Coloquei dessa forma. No terminal funcionou com echo, mas pelo shell script no inseriu as informações no bash


10. Re: Sed script

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 11/03/2021 - 11:10h

shadyxxv escreveu:


msoliver escreveu:

A intenção do comando:
sed -i "\$aexport ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" $HOME/.bash_profile
É inserir esses dados no .bash_profile?
Visto que o "sed" não está fazendo "substituição",
use um:
echo " VARIAVEIS" >> $HOME/.bash_profile

______________________________________________________________________


## Inserindo variaveis de ambiente##

echo "export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" >> $HOME/.bash_profile ;


Coloquei dessa forma. No terminal funcionou com echo, mas pelo shell script no inseriu as informações no bash


Jogar as variáveis no "~/.bash_profile" não garante que elas serão "setadas" imediatamente no shell, já que o arquivo "~/.bash_profile" só é lido uma vez, quando um shell é aberto. Ou seja, se você já está com o terminal aberto nada vai acontecer, as variáveis só seriam "setadas" ao abrir um outro terminal, ou reiniciar a sessão!

Para que o terminal (shell) faça uma nova leitura do arquivo "~/.bash_profile", rode o comando "source":
$ source ~/.bash_profile 



11. Re: Sed script

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

Enviado em 11/03/2021 - 21:01h

echo -e "export ANDROID_HOME=$HOME/Android/Sdk\nexport PATH=$PATH:$ANDROID_HOME/emulator\nexport PATH=$PATH:$ANDROID_HOME/tools\nexport\nPATH=$PATH:$ANDROID_HOME/tools/bin\nexport PATH=$PATH:$ANDROID_HOME/platform-tools" >> $HOME/.bash_profile ; 

Agora vai dar certo, fofo.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


12. Re: Sed script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/03/2021 - 22:28h

shadyxxv escreveu:




## Inserindo variaveis de ambiente##

echo "export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools" >> $HOME/.bash_profile ;


Coloquei dessa forma.
No terminal funcionou com echo, mas pelo shell script no inseriu as informações no bash

shadyxxv, observe que a "var" $ANDROID_HOME, fica desaparece.....
Opção:
echo "export ANDROID_HOME=$HOME/Android/Sdk" >> $HOME/.bash_profile
printf "export PATH=$PATH:\$ANDROID_HOME/%s\n" {emulator,tools,tools/bin,platform-tools} >> $HOME/.bash_profile

Testei aqui e inseriu no arquivo....
export ANDROID_HOME=/home/adminq/Android/Sdk
exportPATH=/usr/local/bin:/opt/trinity/bin:/usr/bin:/bin:/usr/local/games:/opt/trinity/games:/usr/games:$ANDROID_HOME/emulator
exportPATH=/usr/local/bin:/opt/trinity/bin:/usr/bin:/bin:/usr/local/games:/opt/trinity/games:/usr/games:$ANDROID_HOME/tools
exportPATH=/usr/local/bin:/opt/trinity/bin:/usr/bin:/bin:/usr/local/games:/opt/trinity/games:/usr/games:$ANDROID_HOME/tools/bin
exportPATH=/usr/local/bin:/opt/trinity/bin:/usr/bin:/bin:/usr/local/games:/opt/trinity/games:/usr/games:$ANDROID_HOME/platform-tools


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts