Internal Field Seprator
是shell中的内置变量,规定了shell中默认的分隔符
1.输出IFS
printf "%s" "$IFS"
默认分隔符大多是空格、Table或者换行,所以以上命令只会输出空行
printf "%s" "$IFS"|od -b
输出为分隔符对应的ASCII码值
ASCII码值
比如011是Tab制表符、012是换行符、040是空格键
2.修改内部IFS为常规字符
注意:默认IFS较难设置,对IFS进行修改前最好先保存默认IFS,以方便后续的修改
IFS_raw="$IFS" #保存默认的IFS
IFS=":" #修改IFS为 :,也可以修改其为其他字符
IFS="$IFS_raw" #将IFS修改回默认IFS
3.修改IFS为单个特殊字符
基本语法:
IFS=$'特殊字符对应符号'
IFS_raw="$IFS" #保存默认的IFS
IFS=$'\t' #修改IFS为水平制表符
IFS="$IFS_raw" #将IFS修改回默认IFS
特殊字符
4.修改IFS为多个特殊字符
当出现这几个特殊字符中的一个或者连续多个时,即认为出现一次IFS
IFS=$' \t\n' #修改IFS为空格、水平制表符和换行符号
网友评论