我有脚本需要恢复Virtualbox机器,并希望使用机器名称作为变量,所以我有:
VMN="VMtest"
screen -S MyScr -p 3 -X stuff $'VBoxManage controlvm "${VMN}" resume --type headlessn'
但是变量在这个命令中不可见。所以我只看到下面的命令在屏幕窗口
[me@srv ~]$ VBoxManage controlvm resume --type headless
所以我不确定变量是否需要首先在该屏幕中定义,或者如何在单引号中携带它。
屏幕的stuff
可以理解n
,因此您可以对命令使用双引号:
VMN="VMtest"
screen -S MyScr -p 3 -X stuff "VBoxManage controlvm $VMN resume --type headlessn"
# CTRL-J
... stuff "VBoxManage controlvm $VMN resume --type headless^J"
# ooo (octal)
... stuff "VBoxManage controlvm $VMN resume --type headless 12"
在$' .... '
内部没有参数展开,但是您总是可以将这些部分串成一个字符串:
"VBoxManage controlvm ${VMN} resume --type headless"$'n'