zoukankan      html  css  js  c++  java
  • build/envsetup.sh

    同事遇到一个很奇妙的问题:

    在取下的源码目录运行lunch选择编译选项时,居然提示lunch没有安装~

    如下:

    root@desktop-ubuntu:/android_src# ./build/envsetup.sh
    including device/htc/passion/vendorsetup.sh
    including device/samsung/crespo4g/vendorsetup.sh
    including device/samsung/crespo/vendorsetup.sh
    root@desktop-ubuntu:/android_src# lunch
    程序“lunch”尚未安装。 您可以使用以下命令安装:
    apt-get install lunch


    我们着实纳闷,因为Lunch根本不是一个可执行程序,而仅仅是写在envsetup.sh文件里的一个函数,百思不得其解,最终发现是第一条命令输错了~

    正确的形式应该是:

    . build/envsetup.sh // 一定要注意,. 后面有个空格


    这样才去执行lunch就不会出错了~但这到底是什么原因,想不明白,有知道的朋友请告诉下~

    ======================================================

    下面是网友 傻样精英 给出的解释,多谢这位仁兄:

    source命令用法:
    source FileName
    作用:在当前bash环境下读取并执行FileName中的命令。
    注:该命令通常用命令“.”来替代。
    如:source .bash_rc 与 . .bash_rc 是等效的。
    注意:source命令与shell scripts的区别是,
    source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。

     

  • 相关阅读:
    redis 初探
    RAID,mdadm(笔记)
    EXT2文件系统
    压缩、解压缩命令(笔记)
    shell编程while
    软连接、硬链接、磁盘分区管理(笔记)
    磁盘管理(笔记)
    恢复Linux下被误删除的文件(笔记)
    Linux下高效数据恢复软件extundelete应用实战
    RedHat安装GCC问题-解决依赖问题
  • 原文地址:https://www.cnblogs.com/flyme/p/2267273.html
Copyright © 2011-2022 走看看