v=vagrant; $v up && $v ssh
Це може бути близьким до того, що ви шукаєте.
Ось функція, яка - в bash
- друкує перше слово в командному положенні для поточної складеної команди:
rc() { $(set -f; unset IFS
set -- $(history 1)
IFS="(){};|'\\\"&#"
set \ $2;IFS=\ ;set -- $*
printf %s "$1") "$@"; }
З цим ви могли б зробити:
vagrant up && rc ssh
Приклад:
echo up && rc ssh
ВИХІД
up
ssh
або ...
set -x
(echo);rc 'times two'
ВИХІД
+ 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