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.