Когда я запускаю следующий сценарий, он делает именно то, что я хочу, чтобы это сделать, и выходы:Perl - выполнение команд внутри сценария висит
setDisplay.sh:
#!/bin/bash
Xvfb -fp /usr/share/fonts/X11/misc/ :22 -screen 0 1024x768x16 2>&1 &
export DISPLAY=:22
Когда я бегу ./setDisplay.sh
, все работает нормально.
ОК, вот где начинается самое интересное ...
У меня есть сценарий Perl, который вызывает setDisplay ...
Вот eamorr.pl сценарий:
#!/usr/bin/perl
use strict;
use warnings;
my $homeDir="/home/eamorr/Dropbox/site/";
my $cmd;
my $result;
print "-----Setting display...\n";
$cmd="sh $homeDir/setDisplay.sh";
print $cmd."\n";
$result=`$cmd`;
print $result;
Это просто зависает, когда я бегу ./eamorr.pl
Я полностью застрял ...
Использование 'sh', когда shebanh является' bash', как правило, плохая идея. –
Не знаю, но если это все, что вы делаете perl-скрипт, вы можете просто выполнить 'exec $ cmd;'. – kjprice