bash问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
uzasun
帖子: 21
注册时间: 2012-03-29 22:24

bash问题

#1

帖子 uzasun » 2012-12-18 11:10

bash-3.2$ CC=~/bin/gcc make mytarget
上面命令中变量"CC" 是怎样起作用的? bash怎么知道要运行make命令的,这是什么bash的命令语法?
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

Re: bash问题

#2

帖子 lainme » 2012-12-19 19:41

CC是变量名。默认被用作指定C语言编译器,CC=~/bin/gcc 就是指用 "~/bin/gcc" 这个可执行文件做C的编译器。类似的还有 CFLAGS 变量,默认用来制定编译选项。还有一些其他类似的,参见 http://www.gnu.org/software/make/manual ... ables.html

后面又打了 make mytarget,意思是编译 mytarget 这个目标。
头像
uzasun
帖子: 21
注册时间: 2012-03-29 22:24

Re: bash问题

#3

帖子 uzasun » 2012-12-20 12:46

lainme 写了:CC是变量名。默认被用作指定C语言编译器,CC=~/bin/gcc 就是指用 "~/bin/gcc" 这个可执行文件做C的编译器。类似的还有 CFLAGS 变量,默认用来制定编译选项。还有一些其他类似的,参见 http://www.gnu.org/software/make/manual ... ables.html

后面又打了 make mytarget,意思是编译 mytarget 这个目标。
我CC表示编译器。我的问题是“make”才是上面命令行中,bash真正执行命令的程序名,对吧?问题是bash怎么知道“CC=~/bin/gcc”只是环境变量,并如何将环境变量传递给真正的命令程序的?
回复