Answers:
有一种特殊的语法:
for i do
printf '%s\n' "$i"
done
通常,可以通过特殊变量获得当前脚本或函数的参数列表$@
。
for i in "$@"; do
printf '%s\n' "$i"
done
请注意,您需要在双引号周围$@
,否则参数将进行通配符扩展和字段拆分。"$@"
不可思议:尽管有双引号,但它会扩展到与参数一样多的字段。
print_arguments () {
for i in "$@"; do printf '%s\n' "$i"; done
}
print_arguments 'hello world' '*' 'special !\characters' '-n' # prints 4 lines
print_arguments '' # prints one empty line
print_arguments # prints nothing
for f; do ...