2011-08-17 69 views
0
 

    tokens='a,b' 
    IFS=',' read -ra a <<<$tokens 
    for i in "${a[@]}"; do 
     echo "$i |" 
    done 

输出标记化字符串

 

    a b | 

 

    IFS=',' read -ra a <<<'a,b' 
    for i in "${a[@]}"; do 
     echo "$i |" 
    done 

输出正确

 
a | 
b | 

如何让我的第一个工作?我很困惑。

回答

0

您需要大约$令牌双引号

cat a 

tokens='a,b' 
    IFS=',' read -ra a <<< "$tokens" 
    for i in "${a[@]}"; do 
     echo "$i |" 
    done 

./a 
a | 
b |