Ajuda com Script [RESOLVIDO]

1. Ajuda com Script [RESOLVIDO]

Dilan Severino de Oliveira
dilan1998

(usa Debian)

Enviado em 07/07/2021 - 21:41h

Boa noite comunidade, estou fazendo algumas automações mas os conhecimentos em shell script são razos então...
Preciso inserir uma variável que vá preencher um campo de usuário e outro senha de um texto com várias linhas, estas linhas serão enviadas para um arquivo em /etc/fstab/(arquivo), utilizei o comando read para criar estas variaveis, preciso de uma dica para como enviar estas linhas para este arquivo sem que ele sobrescreva o que existe, não estou conseguindo utilizar "echo" porque falta conhecimento.
Aqui o script que fiz se quiserem avaliar e contribuir ficarei contente!

#!/bin/bash
#Deve ser executado como superusuário.
#Antes de executar, realizar as seguintes ações
#sudo chmod +x proautoconf && mv (local do arquivo)/usr/bin.

#proautoconf versão 1.7

#Feito por Dilan Severino de Oliveira

#Este script tem por objetivo atualizar a distribuição e os repositórios
#Também instalar programas padrão-uso do cliente XXXX.

#Descrição das ações : atualiza repositórios, instala dependências, instala os programas
#Pluma,Wine'HQ,Google-Chrome,WPS-office e o pacote Net-tools.
#Por fim o script se move para o diretório /tmp e reinicia o sistema concluindo sua exclusão.


#Esta linha declara as variaveis HOMEUSER(caminho da pasta home do primeiro usuário criado no sistema)e STANDARDUSER(nome do primeiro usuário criado no sistema)para não haver problemas com caminhos e nomes de usuário.
export HOMEUSER=`cat /etc/passwd | grep 1000 | cut -d : -f 6` &&
export STANDARDUSER=`cat /etc/passwd | grep 1000 | cut -d : -f 1` &&

###Esta linha declara a varíavel XXXXXX e XXXXXX . Necessita que preenchimento dos campos a serem inseridos no arquivo /etc/fstab.###
#echo " Nome do usuário:" &&
# read XXXXXX &&
#echo "Senha:"
# read XXXXXX &&
# echo ###Inserir linhas prontas de configuração de caminho de rede### >> /etc/fstab/### &&
###Insira aqui com campo de usuario e senha preenchido pelas variáveis XXXXXXpara usuário e XXXXXX para senha de usuário###
#Esta linha atualiza os repositórios e a distribuição
echo "Atualizando Distribuição" &&
apt update -y &&
apt dist-upgrade -y &&

#Esta linha instala os programas pluma, net-tools e rdesktop

apt install pluma -y && apt install net-tools -y && apt install rdesktop -y &&

#Esta linha atualiza os repositórios adicionados em busca de atualizações e instalação de dependências.

apt --fix-broken install -y &&
echo "Dependências e atualizações instaladas" &&

#Esta linha adiciona arquitetura i386 e faz o download e instalação do Wine'hq.
echo "Preparando Wine..." &&
dpkg --add-architecture i386 &&
wget -nc https://dl.winehq.org/wine-builds/winehq.key &&
apt-key add winehq.key && add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' &&
apt --fix-broken install -y &&
apt install --install-recommends winehq-stable -y &&

#Esta linha cria diretórios e atalhos padrão-uso XXXXXX.
sudo -u $STANDARDUSER mkdir $HOMEUSER/redepro && sudo -u $STANDARDUSER mkdir $HOMEUSER/h && sudo -u $STANDARDUSER mkdir $HOMEUSER/nfe &&
ln -s -n $HOMEUSER/h $HOMEUSER/Área\ de\ Trabalho/H &&

#Esta linha Instala o navegador web Google Chrome.
#Colaborador para primeira linha:XXXXXX

wget -c -P $HOMEUSER/Downloads https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb &&
echo "Instalando navegador web Google-Chrome" &&
apt install $HOMEUSER/Downloads/google-chrome-stable_current_amd64.deb -f -y &&
#Linha de instalação do programa WPS.Obs: necessita de atualização, fator = versionamento.
wget -P $HOMEUSER/Downloads https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/10161/wps-office_11.1.0.10161.XA_a... &&
apt install $HOMEUSER/Downloads/wps-office_11.1.0.10161.XA_amd64.deb -f -y &&
#Atualização de respositórios...
apt update -y &&
echo "Fim!" &&
echo "O sistema se reiniciará 5 segundos..." &&
echo "5" && sleep 1 &&
echo "4" && sleep 1 &&
echo "3" && sleep 1 &&
echo "2" && sleep 1 &&
echo "1" && sleep 1 &&
#Esta linha move o script para o arquivo /tmp e renicia o sistema.
#Por objetivo causar a aniquilação do script após o reinicia

mv /usr/bin/proautoconf /tmp && shutdown -r now :


  


2. Re: Ajuda com Script [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 08/07/2021 - 01:15h

Boa noite Dilan.
Não entendi a parte de inserir a linha em "/etc/fstab"
Esclareça quais são os 'dados' que quer colocar no arquivo em referência.
---------------------------------------------------------------------------------------------------------------
Quanto ao script, dá para melhorar.....
Exemplo:
export HOMEUSER,
export STANDARDUSER
Não são necessárias, o sistema já tem:
$HOME e $USER
----------------------------------------------------------------------------------------------------------------
apt install pluma -y && apt install net-tools -y && apt install rdesktop -y &&
troque por:
apt install pluma net-tools rdesktop -y
----------------------------------------------------------------------------------------------------------------
Pelo que entendi, o shutdown é para excluir o script que foi movido para '/tmp', é isso?

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




3. Bom dia

Dilan Severino de Oliveira
dilan1998

(usa Debian)

Enviado em 08/07/2021 - 06:16h


Obg pela resposta, é um arquivo de configuração de rede em fstab, preciso jogar algumas linhas para lá, criei as variáveis pq o script é utilizado como sudo então estava dando erro pq estava pegando essas variáveis de /root, o cenário é que é um script de instalação,


4. Re: Ajuda com Script [RESOLVIDO]

Dilan Severino de Oliveira
dilan1998

(usa Debian)

Enviado em 08/07/2021 - 06:23h

No caso é feito um processo manual de inserção de várias linhas em uma arq de rede em fstab, contendo nome e usuário, isso muda a cada máquina então criei algo assim, mas deu errado porém acredito que vai dar pra entender.
acho " usuário:" &&
read usuário &&
echo " arquivo contendo informações confidenciais 😅$usuario' | >> /etc/fstab/arquivo de rede.