Je voudrais faire quelque chose comme ceci:Bash: commande chroot passer 2 paramètres de chaîne ou mieux exécuter une série de commandes
chroot /mount-point /path/to/script $var1 $var 2
Est-ce que ce travail? Le script Perl chrooté sera-t-il transmis sur ces 2 paramètres? Si non, comment faire?
Sinon, est-il possible de faire simplement chroot
dans le script, puis commencer à faire des commandes telles que
perl script.pl $var1 $var2 etc?
Si je comprends bien, les écrire simplement séquentiellement dans bash
ne les récupérerez exécutés après chroot
est terminé, et le contrôle est retourné à l'endroit où je n'ai pas installé perl
(c'est un ramdisk qui tourne à partir de PXE).
Pouvez-vous développer s'il vous plaît sur la compilation d'un exécutable perl lié statiquement? il peut être mon prochain problème après avoir fait le chroot et en passant les paramètres comme je veux. – Carmageddon
Ok, bien que cela fonctionne et je n'ai reçu aucune autre réponse, marquera comme la réponse. Fondamentalement, la réponse complète est: chroot/point de montage/chemin/vers/script "$ var1" "$ var2" – Carmageddon
Si les $ var1 et $ var2 ont des espaces ou des caractères de shell, vous devez citer eux afin de les faire passer intact. Re: liaison statique, vous devriez lancer "ldd/path/to/your/perl" et voir de quelles bibliothèques il a besoin. Vous pouvez ensuite les copier dans la zone chroot, avec l'exécutable perl lui-même. Si, pour une raison quelconque, vous ne voulez pas copier ces bibliothèques, vous devrez reconstruire Perl de manière statique. Les instructions sur la façon de procéder sont dans le fichier INSTALL inclus avec la distribution source Perl - l'option Configurer est -Uusedl, ou vous pouvez le configurer dans la configuration interactive. –