提问[代码中的不解]

发布于 2022-09-29 23:47:04 字数 1927 浏览 16 评论 0

我在学习代码阶段,  这段代码实在有很多疑问。请指教
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘿嘿嘿 2022-10-06 23:47:04

我查到了$@在shell脚本里的意思。 指的是
a list of parameters ,in a single variable ,not separated by the first charactor of IFS enviroment variable.  
  我理解就是列出传进来的参数,和 $* 相比之下,$*中间是用IFS环境变量的第一个字母来分隔参数的
其他的还在 searching ~~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文