Si está escribiendo scripts para analizar comandos Vagrant, se recomienda analizar la salida amigable para la máquina ( --machine-readable
), que es más consistente.
El formato es:
timestamp,target,type,data...
para que pueda importarlo como archivo CSV, ya que está separado por comas.
Con shell, probablemente sea más difícil de analizar, por ejemplo:
for id in $(vagrant global-status --machine-readable | cut -d, -f5 | grep -B3 running | egrep -o "[0-9a-f]{7}"); do
vagrant suspend $id;
done
Ver: Vagabundo - Salida legible por máquina
Sin embargo, me resulta más fácil analizar la salida estándar, p. Ej.
while read id name provider state path; do
[ "$state" = "running" ] && vagrant suspend $id;
done < <(vagrant global-status)
Por cierto. Teóricamente, el vagrant
comando debería aceptar una expresión regular para que la lista de máquinas virtuales se suspenda según esta publicación de GH , por ejemplo:
vagrant suspend '*'
pero no funciona y hay un error # 7221 que está pendiente para solucionarlo.
Entradas relacionadas a GitHub: