如果以下示例将IFS
环境变量设置为换行符...
IFS=$'\n'
- 美元符号的确切含义是 什么?
- 在这种特定情况下它会做什么?
- 我在哪里可以阅读有关此特定用法的更多信息(Google 不允许在搜索中使用特殊字符,否则我不知道要查找什么)?
我知道IFS
环境变量是什么,\n
字符是什么(换行),但为什么不直接使用以下形式:(
IFS="\n"
这不起作用)?
例如,如果我想遍历文件的每一行并想使用 for 循环,我可以这样做:
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS
但是,除非设置为换行符,否则这将无法正常工作。为了让它工作,我必须这样做:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
注意:我不需要其他方法来做同样的事情,我已经知道很多其他方法了......我只是对此感到好奇,$'\n'
想知道是否有人可以给我一个解释。