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