Como colocar um vetor argumento com um argumento contendo espaços em uma variável bash

3

Como posso armazenar um vetor argumento com um argumento contendo espaços em uma variável bash ?

Por exemplo, quero que 2.sh imprima b c

1.sh

#!/bin/bash

ARGV='a "b c"'
./2.sh $ARGV

2.sh

#!/bin/bash

echo $2
    
por n.r. 09.02.2013 / 01:56

1 resposta

3

Você deve usar uma matriz em vez de uma string:

args=("a" "b c")
./2.sh "${args[@]}"

Quando a expansão da matriz é citada, cada elemento da matriz é expandido adequadamente.

    
por 09.02.2013 / 04:05