X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Fguestfish.pod;h=022e03e24d44abe5b2e67428c9a63bb5e7762366;hp=d24567240512e3131dd410795cb7ae50d5d6eb4c;hb=1e35941f62bddafd6b88270b22b3afe4a5d37baa;hpb=c5bd9539dba8476e79d859c5c09e3277538957b3 diff --git a/fish/guestfish.pod b/fish/guestfish.pod index d245672..022e03e 100644 --- a/fish/guestfish.pod +++ b/fish/guestfish.pod @@ -973,6 +973,49 @@ user ID of the process, and C<$PID> is the process ID of the server. Guestfish client and server versions must match exactly. +=head2 USING REMOTE CONTROL ROBUSTLY FROM SHELL SCRIPTS + +From Bash, you can use the following code which creates a guestfish +instance, correctly quotes the command line, handles failure to start, +and cleans up guestfish when the script exits: + + #!/bin/bash - + + set -e + + guestfish[0]="guestfish" + guestfish[1]="--listen" + guestfish[2]="--ro" + guestfish[3]="-a" + guestfish[4]="disk.img" + + GUESTFISH_PID= + eval $("${guestfish[@]}") + if [ -z "$GUESTFISH_PID" ]; then + echo "error: guestfish didn't start up, see error messages above" + exit 1 + fi + + kill_guestfish () + { + kill $GUESTFISH_PID >/dev/null 2>&1 ||: + } + trap kill_guestfish EXIT + + guestfish --remote run + # etc. + +=head2 REMOTE CONTROL RUN COMMAND HANGING + +Using the C (or C) command remotely in a command +substitution context hangs, ie. don't do (note the backquotes): + + a=`guestfish --remote run` + +Since the C command produces no output on stdout, this is not +useful anyway. For further information see +L. + =head1 PREPARED DISK IMAGES Use the I<-N type> or I<--new type> parameter to select one of a set @@ -1067,7 +1110,7 @@ This exits guestfish. You can also use C<^D> key. @ACTIONS@ -=head1 EXIT CODE +=head1 EXIT STATUS guestfish returns 0 if the commands completed without error, or 1 if there was an error. @@ -1081,6 +1124,16 @@ guestfish returns 0 if the commands completed without error, or The C command uses C<$EDITOR> as the editor. If not set, it uses C. +=item FEBOOTSTRAP_KERNEL + +=item FEBOOTSTRAP_MODULES + +These two environment variables allow the kernel that libguestfs uses +in the appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not +set, then the most recent host kernel is chosen. For more information +about kernel selection, see L. This +feature is only available in febootstrap E 3.8. + =item GUESTFISH_DISPLAY_IMAGE The C command uses C<$GUESTFISH_DISPLAY_IMAGE> to @@ -1215,6 +1268,7 @@ Any existing file with the same name will be overwritten. L, L, +L, L, L, L, @@ -1228,12 +1282,15 @@ L, L, L, L, +L, +L, L, L, L, L, L, -L. +L, +L. =head1 AUTHORS