Eu poderia (1) preparar um arquivo com comandos digitados separados pela linha final, (2) torná-lo executável, (3) executá-lo a partir de um gerenciador de sistema de arquivos ou do terminal.
Mas isso é ridículo para conjuntos de comandos não repetíveis e sempre.
Posso digitar esses comandos no terminal em uma solicitação?
Não sei o caractere da linha final do terminal - Ctrl, Shift ou Alt com Enter não funcionam.
gnome-terminal
command-line
Esamo
fonte
fonte
Respostas:
Você pode separar comandos com
&&
ou;
.&&
somente executa o próximo comando se o anterior saiu com o status 0 (foi bem-sucedido):;
executa todos os comandos, mesmo que o anterior saia com um status diferente de zero:Você pode combinar esses separadores como desejar.
fonte
command1 && command2
command2 será executado apenas se command1 for bem sucedido.sudo apt upgrade
esudo systemctl reboot
, você precisaria adicionar 'sudo' duas vezes, ou 'lembrará' sudo para o segundo comando?Se você estiver interessado em digitar cada comando em sua própria linha em uma única solicitação, poderá usar o seguinte método:
Inicie sua solicitação (primeira linha) com
if :; then
(isso significa: se verdadeiro, então faça) e pressione Enter; seu prompt será alterado agora>
e nada será executado.Digite seus comandos, cada um seguido por Enter
Termine sua solicitação com
fi
(fim daif
condição acima ) e pressione Enter. Agora todos os seus comandos serão executados na ordem especificada.Exemplo:
fonte
if true; then
pode ser mais claro de ler, se desejado.:
pode ser confundido com a;
primeira vista.Primeiro, coloque um
{
em sua própria linha.Em seguida, insira seus comandos.
Em seguida, coloque um
}
em uma nova linha e pressione Enter. Seus comandos serão executados.Exemplo:
que será impresso (de uma só vez, sem aviso no meio):
Como observação lateral,
{ .. }
está a sintaxe de agrupamento de comandos do Bash. Geralmente é útil em conjunto com&&
ou||
('e' e 'ou' respectivamente)fonte
if :; then
já mencionado? Ou é um pouco diferente?if :
executa um teste no comando nulo, que sempre retornará verdadeiro.{ .. }
apenas agrupa os comandos. Pessoalmente, acho{ .. }
mais fácil me lembrar.