一个例子:
foo() {
for i in ${@+"$@"}; do
echo $i
done
}
据我所知,如果设置了参数,${参数字}会导致word的扩展.但为什么不在“$@”中使用i;做?我确信有一些好处,但任何人都可以举个例子吗?
谢谢!
最佳答案
根据POSIX标准,如果没有设置$@,“$@”应该扩展为空.但是,原始Bourne shell将其扩展为单个空字符串.如果没有在任何一个shell中设置$@,${@“$@”}将扩展为空.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。