2013-03-12 54 views
0

我想通過使用系統命令(或任何其他方式)從perl運行程序。從perl運行linux中的程序

system(「samtools」);

我覺得應該通過這個殼,但它抱怨,不能Exec的「samtools」文件或目錄不存在,當我運行它。我已經嘗試例如

系統其他許多不同的程序( 「velveth」);

它工作正常,但不是這個(samtools)。你之前有沒有遇到過這個問題? 我真的很困惑。

回答

2

您可以給出該文件位置的完整路徑

例如:

system("/usr/bin/perl -de 1"); 
0

嘗試把Linux命令裏面``字符。將工作以及。

0

您是否在當前shell中手動修改$pathsamtools

由於system啓動一個新的子shell來運行您的命令,所以如果您的.bashrc中不存在搜索路徑,您必須自己追加samtools的搜索路徑。檢查方式:

perl -e 'system("echo \$PATH")' 

echo $PATH 

,看看是否有任何區別。