Para obter um ambiente POSIX no Solaris, você precisa colocar o diretório de conformidade padrão ( /usr/xpg6/bin
, o número pode ser diferente em versões diferentes do Solaris) no início de seu PATH
, antes de /usr/bin
ou /bin
. Há um sh
em conformidade com o POSIX lá (é ksh
, de fato), e alguns utilitários reagem diferentemente dependendo do $PATH
, mesmo que eles estejam em um único executável.
Codifique os diretórios:
my @xpg_dirs = glob('/usr/xpg[0-9]/bin /usr/xpg[0-9][0-9]/bin');
$ENV{PATH} = "$xpg_dirs[@xpg_dirs-1]:$ENV{PATH}" if @xpg_dirs;
ou impor um PATH
padrão com getconf
(o que estranhamente não está no módulo POSIX
):
$ENV{PATH} = 'getconf PATH';
chomp($ENV{PATH});