shell 十三问经常复习知识点

Carriage Return = CR 由 Enter键产生

IFS (Internal Field Seperator) 是由shell预设使用的字段分隔符,可以由一个及多个如下按键组成:

空格键(White Space)
表格符(Tab)
回车键(Enter)

shell中 ()和{}差在哪里?

nested sub-shell = ()
non-named command-group = {}

试试就知道区别了
{ a=1; } && echo $a
(b=1;echo $b) && echo $b

source fork exec 的区别和使用场景?

$@ 和 $* 的区别?

精确来讲,两者只有在soft quoto中才有差异,否则,都表示“全部参数”($0 除外)。

举例来说:
若在command line上跑 my.sh p1 "p2 p3" p4的话
不管是 $@ 还是 $*, 都可以得到 p1 p2 p3 p4就是了。

但是,如果置于soft quoto中的话:
"$@" 可以到的 "p1" "p2 p3" "p4" 这三个不同意的词段(word)
"$*" 可以得到 "p1 p2 p3 p4" 这一整串单一的词段

特别是在使用for循环的时候,总之使用 "$@" 一般会达到你要的效果

猜你喜欢

转载自blog.51cto.com/cuidehua/2349850