我嘗試在 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"
當我嘗試手動訪問然後tmp/phuong.XXXXX/garuns
運行 R 時,它工作得很好。
答案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,如果安裝了,如何在腳本中啟用對它的存取。
在我有權訪問的叢集上,某些軟體需要使用module load somesoftware/version
命令加載,該命令會更新/設定運行軟體所需的環境變數。
答案4
我收到了相同的錯誤訊息,但原因不同。將其發佈在這裡,因為人們也會像我一樣登陸這裡。
檢查您的第一行是#!/bin/bash
(這不是您的問題)而不是#!/bin/sh
,否則某些命令將module load <>
無法運行。