1. 就是分隔符的确定
2. 就是调用时参数获取
对于1,因为要按行处理,所以分隔符只能是'\n'
这在bash中需要指定IFS环境变量,这个环境变量默认的值是' \t\n',即空格,TAB和换行,一般处理的办法是
点击(此处)折叠或打开
-
#备份原有分隔符
- IFS_OLD=$IFS
-
#设置新分隔符为回车
- IFS=$'\n'
- ALINES=$(cat $FILEPATH )
- for ALINE in ALINES;do
- <相应处理>
- done
-
#回复原有分隔符
- IFS=$IFS_OLD
点击(此处)折叠或打开
- ABC(){
- local ARGS="$*"
- echo ${ARGS}
- }
- ABC2(){
- local ARG1="$1"
- echo ${ARG1}
- }
- ABC 123 456
- ABC2 123 456
点击(此处)折叠或打开
- 123 456
- 123
而第二次调用ABC2,则没有正确处理参数中空格