Linuxで次のbashスクリプトを実行しようとすると、次のエラーメッセージが表示されますline 31: Rscript: command not found
。どこかで間違っている場合はアドバイスをいただけますか?
#!/bin/bash
#PBS -S /bin/bash
#PBS -N garunsmodel
#PBS -l mem=10g
#PBS -l walltime=02:00:00
#PBS -A improvingherds
#PBS -m ae
nodeDir=`mktemp -d /tmp/phuong.XXXXX`
cp -r /group/dairy/phuongho/garuns $nodeDir
cd $nodeDir
cd garuns
module load gcc vle // this is to load vle platform
rm -rf out
mkdir out
#In garuns.vpz. The output file path has to be changed.
#to an absolute path that's available on the node the script is running.
XXX=`pwd`
sed -i "s|/group/dairy/phuongho/garuns/out|$XXX/out/|" exp/garuns.vpz
Rscript R/repetability.R
DATE=`date +%Y%m%d-%H%M%S`
mkdir "/group/dairy/phuongho/job.$DATE"
cp -r out "/group/dairy/phuongho/job.$DATE"
手動でアクセスしてRを実行しようとするとtmp/phuong.XXXXX/garuns
正常に動作します。
答え1
Rがすでにインストールされている場合、変数が誤ってPATH
選択されている可能性がありますかRScript
?確認してくださいwhich RScript
この場合、
export PATH=/path/to/alternate/r/bin:$PATH
参照時に絶対パスを提供して無差別攻撃を試みますRScript
。
~/R-3.2.5_patched/bin/RScript/R/repetability.R
答え2
Rをインストールする必要があります。
Ubuntuを例に挙げてみましょう。
sudo apt-get install r-base-core
これにより、コマンドラインからコマンドRscript
が認識されます。
私はこれを行い、うまくいきましたが、何百もの依存関係がインストールされ、設置規模がかなり大きいことに注意してください。インストールには数分かかりました。
答え3
これは、SLURMなどのツールを介してコンピューティングクラスタに送信されたスクリプトのように見えます。システム管理者に連絡して、Rがクラスタにインストールされていること、およびインストールされている場合は、スクリプトでRへのアクセスを有効にする方法を尋ねる必要があります。
アクセス権を持つクラスタでmodule load somesoftware/version
ソフトウェアを実行するために必要な環境変数を更新/設定するコマンドを使用して、一部のソフトウェアをロードする必要があります。
答え4
同じエラーメッセージが表示されましたが、理由は異なります。人々は私のようにここに到着するので、ここに投稿してください。
最初の行が#!/bin/bash
問題ではないことを確認してください。それ以外の場合、#!/bin/sh
一部のコマンドはmodule load <>
実行されません。