v=vagrant; $v up && $v ssh
Isso pode estar próximo do que você está procurando.
Aqui está uma função que - em bash
- imprimirá a primeira palavra na posição de comando para o comando composto atual:
rc() { $(set -f; unset IFS
set -- $(history 1)
IFS="(){};|'\\\"&#"
set \ $2;IFS=\ ;set -- $*
printf %s "$1") "$@"; }
Com isso você pode fazer:
vagrant up && rc ssh
Um exemplo:
echo up && rc ssh
RESULTADO
up
ssh
ou...
set -x
(echo);rc 'times two'
RESULTADO
+ echo
+ rc 'times two'
++ set -f
++ unset IFS
+++ history 1
++ set -- 549 '(echo);rc' ''\''times' 'two'\'''
++ IFS='(){};|'\''\"&#'
++ set ' ' echo '' rc
++ IFS=' '
++ set -- echo rc
++ printf %s echo
+ echo 'times two'
times two