Tengo el siguiente script bash intentando ejecutarlo en Linux pero recibo un mensaje de error que dice line 31: Rscript: command not found
. ¿Podrías darme un consejo si me equivoco?
#!/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"
Cuando intenté acceder manualmente para tmp/phuong.XXXXX/garuns
luego ejecutar R, funcionó bien.
Respuesta1
Si R ya se ha instalado, ¿podría ser que la PATH
variable recoja el error RScript
? Comprobar conwhich RScript
En este caso, intente
export PATH=/path/to/alternate/r/bin:$PATH
o intente la fuerza bruta dando la ruta absoluta al hacer referencia RScript
, por ejemplo
~/R-3.2.5_patched/bin/RScript/R/repetability.R
Respuesta2
Necesitas instalar R
Por ejemplo en Ubuntu:
sudo apt-get install r-base-core
Entonces el Rscript
comando será reconocido en la línea de comando.
Hice esto y funcionó, pero tenga en cuenta que la instalación fue bastante masiva con cientos de dependencias instaladas. La instalación tardó unos minutos.
Respuesta3
Parece un script que se envía a un clúster informático a través de algo como SLURM. Debe hablar con el administrador de su sistema y preguntarle si R está instalado en el clúster y, de ser así, cómo habilitar el acceso a él en su secuencia de comandos.
En los clústeres a los que tengo acceso, será necesario cargar algún software con un module load somesoftware/version
comando, que actualiza/establece las variables de entorno necesarias para ejecutar el software.
Respuesta4
Recibí el mismo mensaje de error pero por un motivo diferente. Publicarlo aquí ya que la gente aterrizará aquí como lo hice yo también.
Verifique que su primera línea sea #!/bin/bash
(que no es su problema) en lugar de #!/bin/sh
, de lo contrario, algunos comandos como module load <>
no se ejecutarán.