使用换行作为IFS时为什么会有额外的输出?

时间:2016-05-22 19:52:12

标签: linux bash

我使用下面的代码测试了不同IFS值的输出。

public static Dictionary<string, GameObject> dict = new Dictionary<string, GameObject>();

但是对于作为IFS的换行,在预期输出之前还打印了以下内容。为什么会显示此输出?

foreach(GameObject r in FindObjectsOfType(typeof(GameObject)))
{
      dict.Add(r.name, r);
}

1 个答案:

答案 0 :(得分:3)

由于export命令中的美元符号。

由于你的任务,$IFS将扩展为一个新行,没有引号,只会被shell删除,只留下export命令而没有参数。

根据help export

export: export [-nf] [name[=value] ...] or export -p
  [...]
  If no NAMEs are given, or if `-p' is given, a list of
  all names that are exported in this shell is printed.
  [...]

究竟发生了什么。

要解决此问题,请完全关闭export命令,因为在这种情况下不需要(感谢kojiro)。