Eu tenho os seguintes comandos.
cd import
zcat urls1.sql.gz | mysql -u root -p urls
cd /var/www/project1/
nano 1.php
A partir de agora eu estou executando um por um.
Existe uma maneira de combinar esses comandos em uma linha?
command-line
Giri
fonte
fonte
;
ou&&
executar vários comandos em uma linha" é muito melhor, tem mais pesquisas e provavelmente teria atraído muitos votos positivos.Respostas:
Sim, separe com um ponto e vírgula da seguinte forma:
A maioria dos lanugauges / shells usa o ponto-e-vírgula para indicar o final de um comando e começar de novo enquanto avalia da esquerda para a direita.
Ou como o @RobieBasak recomenda, use && em vez de; para se proteger contra acidentes de codificação.
fonte
&&
vez de;
. Isso garante que os comandos subseqüentes sejam executados apenas se os comandos anteriores não falharem. Isso evita algumas consequências embaraçosas. Por exemplo:cd /somewhere_else; rm -Rf *
poderia fazer algo desastroso se/somewhere_else
não existir ou você escrever errado;cd /somewhere_else && rm -Rf *
protege você disso.Isso ilustra mais:
UMA ; B - Execute A e depois B, independentemente do sucesso ou fracasso de A
A && B - Execute B apenas se A tiver êxito
A || B - Execute B apenas se A falhar
fonte: https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/
fonte