Using this flag is mostly equivalent to using the C<add-domain> command,
with C<readonly:true> if the I<--ro> flag was given, and
-with C<format:...> if the I<--format:...> flag was given.
+with C<format:...> if the I<--format=...> flag was given.
=item B<-D>
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<run> (or C<launch>) command remotely in a command
@ACTIONS@
-=head1 EXIT CODE
+=head1 EXIT STATUS
guestfish returns 0 if the commands completed without error, or
1 if there was an error.
L<guestfs(3)>,
L<http://libguestfs.org/>,
+L<virt-alignment-scan(1)>,
L<virt-cat(1)>,
L<virt-copy-in(1)>,
L<virt-copy-out(1)>,
L<virt-make-fs(1)>,
L<virt-rescue(1)>,
L<virt-resize(1)>,
+L<virt-sparsify(1)>,
+L<virt-sysprep(1)>,
L<virt-tar(1)>,
L<virt-tar-in(1)>,
L<virt-tar-out(1)>,
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.