提问[代码中的不解]
我在学习代码阶段, 这段代码实在有很多疑问。请指教
case "$1" in
-clean)
shift /* 这个 shift 的作用? 我指的是在linux下有没有 这个特殊的函数?*/
parse_args $@
/* 这个$@ 代表的意思。我只查到在makefile 中代表目标名 但是,在这里代表什么意思,我就不知道了, 希望大虾能帮忙解释一哈 */
clean_kernel $@
;;
-kernel)
shift
parse_args $@
compile_kernel $@
;;
-modules)
shift
parse_args $@
build_kernel_modules /* 这个后边没有任何参数。 是一个shell脚本。这里是要执行这个文件么, 如果要执行,为什么没有 . 或 ./ 之类的东西? */
;;
config_only)
create_config
shift
parse_args $@
build_kernel_config
;;
*)
build_kernel_and_modules $@
esac
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我查到了$@在shell脚本里的意思。 指的是
a list of parameters ,in a single variable ,not separated by the first charactor of IFS enviroment variable.
我理解就是列出传进来的参数,和 $* 相比之下,$*中间是用IFS环境变量的第一个字母来分隔参数的
其他的还在 searching ~~~