count=1;echo "Hello Bash"| cut -d" " -f$count
上述命令提供错误,指出:“尝试'cut --help'以获取更多信息。”
错误是因为使用带有字段分隔符的变量“$ count”(-f $ count)。
字段分隔符不允许使用变量吗?这是cut命令的问题还是我错过了什么?
PS:我使用的是Linux内核版本2.3
答案 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
之后在其参数之前添加空格。