0

システム コマンド (またはその他の方法) を使用して perl からプログラムを実行したい。

システム ("samtools");

これをシェルに渡す必要があると思いますが、実行すると、Can't exec "samtools" file or directory does not exist と不平を言います。たとえば、他の多くの異なるプログラムを試しました

system("ビロード");

正しく動作しますが、これ(samtools)では動作しません。以前にこの問題に直面している人はいますか? 私は本当に困惑しています。

4

3 に答える 3

2

そのファイルの場所へのフル パスを指定できます。

例:

system( "/usr/bin/perl -de 1");
于 2013-03-12T09:46:08.143 に答える
0

現在のシェルで手動で変更$pathしましたか?samtools

systemコマンドを実行するために新しいサブシェルを開始するため、 に存在しない場合は自分の検索パスを追加する必要がありsamtoolsます.bashrc。次の方法で確認します。

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

echo $PATH

違いがあるかどうかを確認します。

于 2013-03-12T13:22:55.007 に答える
0

Linux コマンドを `` 文字の中に入れてみてください。同様に機能します。

于 2013-03-12T10:59:17.923 に答える