Bash getopts not reading arguments to variables

116 Views Asked by At

Hi all I think I am going insane. I have the following at the beginning of a bash script:

#!/bin/bash

while getopts i:o:c:p:g: flag
do
    case "${flag}" in
        g) genome=${OPTARG};;
        p) poscol=${OPTARG};;
        c) chromcol=${OPTARG};;
        i) inf=${OPTARG};;
        o) outf=${OPTARG};;
    esac
done

echo ""
echo "This should be a list of the arguments:"
echo $inf
echo $outf
echo $poscol
echo $chromcol
echo $genome
echo "-----------------------"

Yet when I run a test of the code, eg:

bash Code.sh -i test.txt -o test.txt -c 0 -p 1 -g testgenome

bash returns:

This should be a list of the arguments:





-----------------------

I literally just copied this section of code from a script where the arguments work fine. Does anyone have any idea what could be going on here? Thanks in advance.

0

There are 0 best solutions below