简体   繁体   中英

error while running a R script in a bash script

e made a bash script as follows:

#! /bin/bash


OUTDIR=".//DATA/share/pipelines/results/"
INDIR="./DATA/share/pipelines/test_data/infile/"
projectname=$1
input_bam=$2
bins=$3

mkdir OUTDIR || true

of="${OUTDIR}"
ind="${INDIR}"


./DATA/share/pipelines/script.R \
    -b "${bins}" \
    -c "${projectname}" \
    -o "${of}" \
    -i "${ind}"

echo "first step is done"

when I run the script using the following command:

bash first.sh 30 beh

I will get this error:

mkdir: cannot create directory ‘OUTDIR’: File exists
first.sh: line 17: ./DATA/share/pipelines/script.R: No such file or directory
first step is done

do you know how to solve the problem?

When you call

bash first.sh 30 beh

$1 holds 30 , $2 holds beh and $3 is not defined.

input_bam ist set to $2 but is never used.

With [ ! -d ${OUTDIR} ] [ ! -d ${OUTDIR} ] you should be able to test if the directory exists.

#! /bin/bash

#Please check if it should be
# relative to the current working directory (starting with './')
# or absolute (starting with '/')
BASEDIR="/DATA/share/pipelines/" #"./DATA/share/pipelines/"
OUTDIR=${BASEDIR}"results/"
INDIR=${BASEDIR}"test_data/infile/"
projectname=$1
input_bam=$2  #This is never used
bins=$3  #This is not defined when callin >bash first.sh 30 beh<

[ ! -d ${OUTDIR} ] && mkdir ${OUTDIR} #Think you would create ${OUTDIR}

of="${OUTDIR}"
ind="${INDIR}"


./DATA/share/pipelines/script.R \
    -b "${bins}" \
    -c "${projectname}" \
    -o "${of}" \
    -i "${ind}"

echo "first step is done"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM