输入特定命令后,屏幕上会多次显示一条消息。我需要重新输入整个建议的命令或复制并粘贴它。是否有使用终端执行相同操作的快捷方式。
例如
$ vagrant up
消息是:
Message: Please install the vagrant-vbguest plugin by
running `vagrant plugin install vagrant-vbguest`
我希望运行该命令vagrant plugin install vagrant-vbguest
。
答案1
如果安装命令用反引号引用,并且该行由发布的换行符分隔。
一个例子:
msg='Message: Please install the vagrant-vbguest plugin by\nrunning `vagrant plugin install vagrant-vbguest`'
status=$( vagrant up )
cmd=$( echo "$status" | grep -o "by\nrunning \`[a-z \-]*" | cut -d"\`" -f 2 )
或者
cmd=$( echo "$msg" | cut -d"\`" -f 2 )
进而:
# if cmd is not empty
if [[ -n "$cmd" ]]; then
sudo "$cmd"
fi
另外,如果该消息在 STDERR 上打印出来,则替换为:
status=$( vagrant up 2>&1 )