howto criar script para personalizar a configuração do Ubuntu / Linux

1

agora eu tenho várias instruções que eu tenho que adicionar separadamente pelo trabalho manual (iniciar terminal, copiar colar instruções, inserir instruções em arquivo de texto), então eu pensei que deve haver uma maneira de empacotar todos esses comandos em um único arquivo de texto e executá-lo uma vez.

Por exemplo, preciso fazer duas configurações:

1ª configuração

  1. crie um arquivo com:

    sudo nano /usr/local/bin/loadFlysoftPOS
    
  2. copie o seguinte texto no arquivo de texto acima:

    #/bin/bash until pids=$(pidof mysqld)
    do  
    sleep 1
    done
    cd ~/Dokumente/dist/
    java -jar POSv2.jar > log.txt
    
  3. torná-lo executável pelo usuário atual

    sudo chmod +x /usr/local/bin/loadFlysoftPOS
    

2ª configuração

  1. criar arquivo:

    sudo nano /etc/udev/rules.d/10-local.rules
    
  2. inserir texto no arquivo:

    SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"
    

Então, é possível armazenar todas essas instruções em um único script e executá-las uma vez? Também é importante substituir qualquer arquivo existente, portanto, se já houver um arquivo chamado /etc/udev/rules.d/10-local.rules, seu conteúdo deverá ser limpo e sobrescrito pelo conteúdo fornecido pelo novo script.

Obrigado pessoal pelo esclarecimento!

    
por Chiggiddi 14.01.2018 / 15:30

1 resposta

2

nano é um editor de texto interativo - IMHO não é útil para criar conteúdo de arquivo programaticamente.

Para o seu primeiro caso, sugiro usar um documento aqui :

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

Para o segundo caso, um simples echo deve ser feito:

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

Coloque tudo em um arquivo com sua própria apresentação:

Arquivo: myscript.sh

#!/bin/sh

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

Torne o executável it e execute-o com sudo

chmod +x myscript.sh
sudo ./myscript.sh
    
por steeldriver 14.01.2018 / 15:49