Write by lyc at 2020-9-16
shell里的IFS内置环境变量

IFS

  • IFS 的全称是 Interal Field Separator ,即“内部区域分隔符”,它也是一个内置环境变量,存储着默认的文本分隔符
  • 默认下这分隔符是空格符(space character),制表符(tab) 以及新行(newline)
1
2
3
4
5

IFS='
'

IFS=' '

默认情况下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
msg="welcome to www groad net"
for item in $msg
do
echo "$item"
done


# 输出
$ temp.sh
welcome
to
www
groad
net

修改IFS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
data="welcome,to,www,groad,net"
IFSBAK=$IFS #备份原来的值
IFS=,
for item in $data
do
echo $item
done
IFS=$IFSBAK #还原


# 输出
$ temp.sh
welcome
to
www
groad
net