bash:' cut'命令字段分隔符

时间:2014-07-03 17:03:37

标签: bash cut

count=1;echo "Hello Bash"| cut -d" " -f$count

上述命令提供错误,指出:“尝试'cut --help'以获取更多信息。

错误是因为使用带有字段分隔符的变量“$ count”(-f $ count)。

字段分隔符不允许使用变量吗?这是cut命令的问题还是我错过了什么?

PS:我使用的是Linux内核版本2.3

1 个答案:

答案 0 :(得分:0)

问题的原因很可能与shell有关。在以分号分隔的复合命令中扩展变量时,某些旧shell实际上可能存在错误,即给定赋值的变量可能会在同一行上以旧值扩展:

count=1;echo "Hello Bash"| cut -d" " -f$count  ## $count may still be empty here 
echo "$count"  ## already 1

不管怎样,管道也可能是一个促成因素。

当然,如果echo "Hello Bash"| cut -d" " -f1确实有效的话。如果不是,cut那就应该受到指责。也许您需要在-d-f之后在其参数之前添加空格。