Existem algumas maneiras, dependendo da sua intenção.
Execução sequencial pode ser feita com ;
separador. Isso será feito em seqüência, cada comando é executado independentemente do status de saída do comando anterior. Exemplo:
echo hello; printf "\n\n%s" WORLD
A execução condicional pode ser feita com os operadores booleanos ||
e &&
.
Com estes, a execução do segundo programa, depende do status de saída do primeiro (primeira e segunda leitura da esquerda para a direita).
Para &&
, o comportamento é assim: COMMAND1 && COMMAND2
, se COMMAND1
terminar com êxito, COMMAND2
será executado. Você pode se lembrar disso como "se a esquerda for bem-sucedida, a direita será executada; se falhar, a direita não será executada"
[-f / etc / passwd] & amp; & amp; echo "/ etc / passwd existe"
Para ||
, é o oposto "Se a esquerda for bem-sucedida, a direita não será executada; se a esquerda falhar, a direita será executada"
[ -d /etc/passwd ] || echo "/etc/passwd is not a directory"
Para colocá-los em um único comando, há algumas opções. Um obviamente é o script, mas como você pediu, você não quer um script. Alternativa para isso é função bash OU alias .
A função Bash é preferida, já que você pode passar argumentos para eles, se assim desejar.
No seu caso específico, você deseja apt-get install
, o que pode exigir vários parâmetros
function installStuff
{
apt-get install "$@"
command2
}
Coloque isso no seu .bashrc
, em algum lugar no topo, feche .bashrc
e execute source .bashrc
. Agora você tem uma função bash que sempre executa apt-get install
primeiro, com qualquer número de pacotes solicitados, e imediatamente command2
Como assim
installStuff package1 package2 package3
Para a execução condicional do comando2, use os operadores &&
e ||
que já mencionei.