From: Richard W.M. Jones Date: Fri, 24 Jul 2009 17:29:42 +0000 (+0100) Subject: More ideas on a quick Perl one-liner syntax for TODO file. X-Git-Tag: 1.0.65~21 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=3385d7a1bf6afb8508ce334c6231c35cbe2fbae0 More ideas on a quick Perl one-liner syntax for TODO file. --- diff --git a/TODO b/TODO index 3241b36..291d220 100644 --- a/TODO +++ b/TODO @@ -244,3 +244,34 @@ any short Perl one-liner would be: You can see we're well beyond a single line just getting to the point of adding drives and mounting. + +First suggestion: + + $h = create ($filename, \"/dev/sda1\" => \"/\"); + + $h = create ([$file1, $file2], \"/dev/sda1\" => \"/\"); + +To mount read-only, add C 1> like this: + + $h = create ($filename, \"/dev/sda1\" => \"/\", ro => 1); + +which is equivalent to the following sequence of calls: + + $h = Sys::Guestfs->new (); + $h->set_autosync (1); + $h->add_drive_ro ($filename); + $h->launch (); + $h->wait_ready (); + $h->mount_ro (\"/dev/sda1\", \"/\"); + +Command-line form would be: + + perl -MSys::Guestfs=:all -e '$_=create("guest.img", "/dev/sda1" => "/"); $_->cat ("/etc/fstab");' + +That's not brief enough for one-liners, so we could have an extra +autogenerated module which creates a Sys::Guestfs handle singleton +(the handle is an implicit global variable as in guestfish), eg: + + perl -MSys::Guestfs::One -e 'inspect("guest.img"); cat ("/etc/fstab");' + +How would editing files work?