X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=fish%2Fguestfish.pod;h=7ceb07104c829e93089ebc9e02da9b3e1dd9c2f5;hb=871e1cfe3ae28028eaa4be7d87d7c43f68b4d5ec;hp=17e0da0abb96be0e759b97602c52081a6042859d;hpb=fac15924f59a076c903d453d20305e00e1ae258a;p=libguestfs.git diff --git a/fish/guestfish.pod b/fish/guestfish.pod index 17e0da0..7ceb071 100644 --- a/fish/guestfish.pod +++ b/fish/guestfish.pod @@ -203,7 +203,7 @@ Domain UUIDs can be used instead of names. Using this flag is mostly equivalent to using the C command, with C if the I<--ro> flag was given, and -with C if the I<--format:...> flag was given. +with C if the I<--format=...> flag was given. =item B<-D> @@ -973,6 +973,39 @@ 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 @@ -1236,6 +1269,7 @@ Any existing file with the same name will be overwritten. L, L, +L, L, L, L, @@ -1250,6 +1284,7 @@ L, L, L, L, +L, L, L, L, @@ -1279,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.