#!/usr/local/bin/perl use warnings; use strict; use Term::ANSIColor; use File::Tee qw(tee); use constant DEFAULT_USER => 'jozan'; use constant LOG_FILE => '/var/log/system-upgrade.log'; use constant { DASH_PATH => '/usr/local/bin/dash', SU_PATH => '/usr/bin/su', GREP_PATH => '/usr/bin/grep', WC_PATH => '/usr/bin/wc', TR_PATH => '/usr/bin/tr', PORTMASTER_PATH => '/usr/local/sbin/portmaster', ESPEAK_PATH => '/usr/local/bin/espeak', NOTIFY_PATH => '/usr/local/bin/notify-send', }; sub shell { system( DASH_PATH, '-c', $_[0] ); } sub user_shell { system( DASH_PATH, '-c', SU_PATH . ' ' . DEFAULT_USER . ' << EOF ' . $_[0] . ' EOF' ); } sub main { user_shell(ESPEAK_PATH . ' test &'); user_shell(NOTIFY_PATH . ' qweqwe'); shell('touch /qwe'); exit; } main(); __END__