Curso Básico de Bash – comando sudo #02

Você que é um novo usuário do Linux. E você se encontra em uma situção que você precisa executar o apt-get update e o apt-get -y upgrade sem digitar o comando sudo duas vezes em uma linha de comando em seu cloud server com ubuntu. Como posso executar esses dois comandos ao mesmo tempo?

Neste artigo vamos aprender de forma facil e rápida como usar o comando sudo para executar vários comandos através de um shell Linux ou Unix.

Sintaxe sudo para executar vários comandos

A sintaxe é:

  • sudo sh -c 'command1 && command2'
  • sudo -- sh -c 'command1 && command2'
  • sudo -u userNameHere -- sh -c 'command1; command2'
  • sudo -- sh -c 'command1; command2'
  • sudo -- bash -c 'command1; command2'
  • sudo -i -- 'command1; command2; command3'
  • sudo -i -- sh -c 'command1 && command2 && command3'

Exemplos

Data de execução e quem sou eu comando:

sudo -- sh -c 'date; who am i'

Exemplo de saídas:

[sudo] password for palamar: 
Tue May  2 19:52:08 IST 2017
vivek    pts/0        2017-05-02 18:44 (10.8.0.2)

Você pode executar o comando como usuário do mysql:

sudo -u mysql -- sh -c "/home/mysql/backup.sh; /home/mysql/mirror.py"

Atualize seu servidor de uma só vez usando o sudo com a ajuda do comando apt-get :

sudo -- sh -c 'apt-get update && sudo apt-get -y upgrade'

COMPREENDENDO AS OPÇÕES DE COMANDO SUDO

  1. Sinaliza o fim das opções e desativa o processamento de opções adicionais para o comando sudo.
  2. sh -c : Execute sh shell com os comandos fornecidos
  3. apt-get update && sudo apt-get -y upgrade' Primeiro reposicione a atualização e aplique atualizações se a atualização foi bem-sucedida.

Uma observação sobre o uso do comando sudo em um script de shell

#! / bin / bash 
echo  "Executando comandos como usuário root ..." 
sudo  -  -sh  -c  << EOF 
apt-get update 
apt-get -y update
apt-get -y install nginx 
apt-get -y remove nano 
apt-get clean 
echo "Tudo pronto". 
EOF

Uma observação sobre o uso do sudo com aliases do shell bash

A sintaxe é a seguinte:

alias foo="sudo -- sh -c 'cmd1 && cmd2'"
alias bar='sudo -- sh -c "cmd1 && cmd2"'

Por exemplo, adicione o seguinte ao arquivo ~ / .bashrc ou ~ / .bash_aliases:

# update debian/ubuntu box using apt
# command line when type update 
alias update='sudo -- sh -c "apt update && apt upgrade"'

Conclusão

Você aprendeu a executar vários comandos usando o comando sudo em sistemas Linux ou Unix. Para obter mais informações, consulte o manual do sudo, digitando o seguinte comando man sudo ou visite o site https://www.sudo.ws/ .

Deixe uma resposta
You May Also Like