次の bash スクリプトを Linux で実行しようとしましたが、エラー メッセージが表示されます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
PATH
Rがすでにインストールされている場合、変数が間違った値を取得している可能性があります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 <>
実行されません。