2013-11-12 4 views
0

Что мне нужно сделать, если мне нужно добавить 2 или более символов в кодон? Потому что кодон только обнаруживает мой первый вход в 1 доллар.

for arg; do 
     case "$1" in 
      -n) shift 
       codonnumber="$1" 
       ;; 
      -g) shift 
       codon="$1" 
       ;; 
      [a-z]*) file="$1";; 


     esac 
     shift 
    done 
    echo codonnumber="$codonnumber" codons="$codon" file="$file" 

Ex: Если я в "$ кодона": корень @ pc3-03: ~/Desktop # ./script.sh -n 4 -g AAA ТГК sequence.fasta

Это только обнаруживает ААА, NO ААА, а позже ТГК

ответ

0

следующая:

[a-z]*) file="$1";; 

соответствует последним два аргумента TGC и sequence.fasta. По существу, переменная file первоначально инициализируется до TCG, а затем до sequence.fasta.

Вы, наверное, хотел сказать:

./script.sh -n 4 -g "AAA TGC" sequence.fasta 

(. Обратите внимание на кавычки вокруг аргументы AAA, TGC)

+0

и если я хочу, чтобы запустить его без «». т.е. изменение формата фрейма? – userbio

+0

@userbio Я не думаю, что вы сможете достичь желаемого результата без кавычек. – devnull