如果是以下示例,该示例将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'
想知道是否有人可以给我一个解释。
\n
只是一个(转义的)字母n。你是正确的,'\n'
并且"\n"
是反弹后跟n。