multipass exec |
Exécute |
---|---|
Multipass |
Syntaxe
multipass exec primary -- uname -r |
multipass exec primary -- lsb_release -a |
Description
Cette commande permet d'exécuter les commandes données à l'intérieur de l'instance.
Exemples
Le premier paramètre est l'instance sur laquelle exécuter les commandes, -- sépare éventuellement les options multipass du reste - la commande à exécuter elle-même :
$ multipass exec primary -- uname -r 4.15.0-48-generic |
Vous pouvez diriger l'entrée et la sortie standard vers/depuis la commande :
$ multipass exec primary -- lsb_release -a | grep ^Codename: No LSB modules are available. Codename: bionic |
Le séparateur -- est requis si vous souhaitez transmettre des options à la commande en cours d'exécution. Les options de la commande exec elle-même doivent être spécifiées avant --.
Depuis la version 1.10.0 de Multipass, il est possible de préciser sur quel répertoire d'instance la commande doit être exécutée. Pour cela, il existe trois options. Le premier est --working-directory <dir>, indiquant à Multipass que la commande doit être exécutée dans le dossier <dir>. Par exemple :
$ multipass exec arriving-pipefish --working-directory /home -- ls -a . .. ubuntu |
La commande ls -la affichait le contenu du répertoire /home, car elle avait été exécutée à partir de là.
La deuxième option pour spécifier le répertoire de travail consiste à parcourir d'abord les dossiers montés. Dans le cas où nous exécutons l'alias sur l'hôte à partir d'un répertoire monté sur l'instance, la commande sera exécutée sur l'instance à partir de là. Si le répertoire de travail n'est pas monté sur l'instance, la commande sera exécutée sur le répertoire par défaut de l'instance. Il s'agit du comportement par défaut dans les versions 1.10.0 et supérieures, et aucun paramètre ne doit être spécifié pour que cette cartographie se produise.
La troisième option consiste à exécuter directement la commande dans le répertoire par défaut de l'instance (généralement, il s'agit de /home/ubuntu. Le paramètre pour forcer ce comportement est --no-map-working-directory. Il faut noter que c'est la valeur par défaut dans les versions antérieures à 1.10.0.