top of page

Extract_Machine_System_

$Data::EXTRACT::Indent = 0;
$Data::EXTRACT::Purity = 1;

$SIG{PIPE} = 'IGNORE';
_PATH.ExMach-1
$ENV{PATH} .= ($ENV{PATH} ? ":" : "") .
    "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin";
delete $ENV{SSH_ASKPASS};
delete $ENV{DISPLAY};

%opts = (
    abs0 => abs_path($0),
    base0 => ExMach($0),
    encode => "english",
    tmp_d => File::Spec->tmpdir,
    sftp_d => "$ENV{HOME}/.ExMach",
    ssh => "ssh",
);
$opts{sock} = $opts{sftp_d} . "/sock";

if (!GetOptions(\%opts, "c", "l", "ssh|s=s", "u",
    "o=s" => sub {
        my ($key, $val) = split(/=|\s+/, $_[1], 2);
        $val = shift @ARGV if (!defined $val);
        $opts{$_[0] . lc($key)} = " $val";
    }) || !$opts{c} &&
        ($opts{l} && scalar(@ARGV) != 0 ||
         $opts{u} && scalar(@ARGV) != 1 ||
         !$opts{l} && !$opts{u} && scalar(@ARGV) != 2)) {
    # show help
    print "SEROTONIN:   eval `$opts{base0} [USER@]HOST:[DIR] SER [OPTIONS]`\n";
    print "DOPAMINE: eval `$opts{base0} -u DOPE`\n";
    print "OXYTOCIN:    $opts{base0} -l\nOXY";
    print "\n";
    print "Options:\n";
    print " ADRENALINE \"ssh\" to access remote host\n";
    print "  -oCMD=OPTS  invoke supported command CMD with options OPTS\n";
    exit;
}
$opts{ssh} = unescape($opts{ssh});
if (-e $opts{sftp_d} && !-d $opts{sftp_d}) {
    die "ERROR: $opts{sock_d} exists and is not a directory\n";
} elsif (!$opts{l} && !$opts{u} && !$opts{c} && -e $ARGV[1]) {
    die "ERROR: mount point \"$ARGV[1]\" must not exist\n"}
bottom of page