SGE(Sun Grid Engine)を使用して、グリッドにジョブを送信しています。perlbrew
また、インストールしたPerlバージョンの管理にも使用します。特定のPerlバージョン(5.12.2)を必要とするperlスクリプトを実行するために使用するいくつかの短いsh
スクリプトを作成しました。これは次のようになります。
#!/bin/bash
#$-S /bin/bash
source /home/dave/.bash_profile
/home/dave/perl5/perlbrew/bin/perlbrew switch perl-5.12.2
/home/dave/scripts/proc_12.pl --in=/home/dave/in/in.store --dir=/home/dave/in/dir2 --params=/home/dave/in/params.p
これで、1つのジョブを送信するとすべてが正常に機能しますが、多数を送信すると、次perlbrew
のような関連するエラーメッセージが表示され始めます。
ln: creating symbolic link `current' to `perl-5.12.2': File exists
ln: creating symbolic link `/home/dave/perl5/perlbrew/bin/cpan' to `/home/dave/perl5/perlbrew/perls/current/bin/cpan': File exists
ln: creating symbolic link `/home/dave/perl5/perlbrew/bin/cpan2dist' to `/home/dave/perl5/perlbrew/perls/current/bin/cpan2dist': File exists
ln: cannot remove `/home/dave/perl5/perlbrew/bin/cpanp': No such file or directory
ln: cannot remove `/home/dave/perl5/perlbrew/bin/enc2xs': No such file or directory
ln: cannot remove `/home/dave/perl5/perlbrew/bin/find2perl': No such file or directory
だから私は/home/dave/perl5/perlbrew/bin/perlbrew switch perl-5.12.2
ラインが問題を引き起こしていると思います。
私に何ができる?
perl-5.12.2(デフォルトは5.8.8)を使用してスクリプトを実行するにはどうすればよいですか?