X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Fguestfish.pod;h=ea0b3aab009c83d3596a9917bb078863ca341379;hb=c4381dba737d5cb8aad8e1b2e2123b0fcaff1d1a;hp=a3d944d928de607936bc7cc06afb00625a7b2c9a;hpb=dfb89e3556c02bcc5fbe62f90e3c716a2cbe93da;p=libguestfs.git diff --git a/fish/guestfish.pod b/fish/guestfish.pod index a3d944d..ea0b3aa 100644 --- a/fish/guestfish.pod +++ b/fish/guestfish.pod @@ -482,7 +482,7 @@ write. To open a disk image read-only you have to do I<-a image --ro>. This matters: If you accidentally open a live VM disk image writable then you will cause irreversible disk corruption. -By libguestfs 1.12 we intend to change the default the other way. +In a future libguestfs we intend to change the default the other way. Disk images will be opened read-only. You will have to either specify I, I, I, or change the configuration file C in order to get @@ -518,6 +518,64 @@ must be escaped with a backslash. command "/bin/echo 'foo bar'" command "/bin/echo \'foo\'" +=head2 ESCAPE SEQUENCES IN DOUBLE QUOTED ARGUMENTS + +In double-quoted arguments (only) use backslash to insert special +characters: + +=over 4 + +=item C<\a> + +Alert (bell) character. + +=item C<\b> + +Backspace character. + +=item C<\f> + +Form feed character. + +=item C<\n> + +Newline character. + +=item C<\r> + +Carriage return character. + +=item C<\t> + +Horizontal tab character. + +=item C<\v> + +Vertical tab character. + +=item C<\"> + +A literal double quote character. + +=item C<\ooo> + +A character with octal value I. There must be precisely 3 octal +digits (unlike C). + +=item C<\xhh> + +A character with hex value I. There must be precisely 2 hex +digits. + +In the current implementation C<\000> and C<\x00> cannot be used +in strings. + +=item C<\\> + +A literal backslash character. + +=back + =head1 OPTIONAL ARGUMENTS Some commands take optional arguments. These arguments appear in this @@ -915,6 +973,50 @@ 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 + + cleanup_guestfish () + { + guestfish --remote -- exit >/dev/null 2>&1 ||: + } + trap cleanup_guestfish EXIT ERR + + guestfish --remote -- run + + # ... + +=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 @@ -1009,7 +1111,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. @@ -1023,6 +1125,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 @@ -1157,6 +1269,7 @@ Any existing file with the same name will be overwritten. L, L, +L, L, L, L, @@ -1170,12 +1283,15 @@ L, L, L, L, +L, +L, L, L, L, L, L, -L. +L, +L. =head1 AUTHORS @@ -1198,4 +1314,4 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.