configure解释

转载 2012年03月29日 12:23:36
在configure的第一段就是:
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
 emulate sh
 NULLCMD=:
 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
 # is contrary to our usage. Disable this feature.
 alias -g '${1+"$@"}'='"$@"'
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
 set -o posix
fi
DUALCASE=1; export DUALCASE # for MKS sh

1    if
if语句测试条件,测试条件返回真( 0)或假(1)后,可相应执行一系列语句。i f语句结构对错误检查非常有用。其格式为:
if 条件1
then 命令1
elif 条件2
then 命令2
else 命令3
fi
很简单,呵呵。
使用i f语句时,必须将t h e n部分放在新行,否则会产生错误。如果要不分行,必须使用命令分隔符。
2             test
写脚本时,有时要判断字符串是否相等,可能还要检查文件状态或是数字测试。基于这些测试才能做进一步动作。Te s t命令用于测试字符串,文件状态和数字。
t e s t一般有两种格式,即:
test condition

[ c o n d i t i o n ]
使用方括号时,要注意在条件两边加上空格。
字符串测试是错误捕获很重要的一部分,特别在测试用户输入或比较变量时尤为重要。字符串测试有5种格式。
l         test “string”
l         test string_op “string”
l         test “string” string_op “string”
l         [string_op string]
l         [“string” string_op “string”]
这里,s t r i n g _ o p可为:
= 两个字符串相等。
!= 两个字符串不等。
-z 空串。
-n 非空串。
3             变量赋值
上述语句中:${ZSH_VERSION+set}就是对变量的赋值操作,ZSH_VERSION和BASH_VERSION都是不同的shell定义的值,且是只读的。对于cygwin来讲,BASH_VERSION的值为3.2.33(18)-release。而其中的加号表示如果设置了v a r i a b l e - n a m e,则重设其值。返回的结果为这个变量最终的值。
其它相关的几个赋值符号为:
Va r i a b l e - n a m e = v a l u e 设置实际值到v a r i a b l e - n a m e
Va r i a b l e - n a m e + v a l u e 如果设置了v a r i a b l e - n a m e,则重设其值
Va r i a b l e - n a m e : ? v a l u e 如果未设置v a r i a b l e - n a m e,显示未定义用户错误信息
Va r i a b l e - n a m e ? v a l u e 如果未设置v a r i a b l e - n a m e,显示系统错误信息
Va r i a b l e - n a m e : = v a l u e 如果未设置v a r i a b l e - n a m e,设置其值
Va r i a b l e - n a m e : - v a l u e 同上,但是取值并不设置到v a r i a b l e - n a m e,可以被替换
因此对于本段代码,if语句的第一个条件将为假,后面的emulate sh当然也就不会执行。而elif的第一个条件则为真。
4             set
set是bash的一个内置命令,man page中对set –o posix的解释是:
change the behavior of bash where the default operation differs from the POSIX standard to match the mode standard(posix mode).
如果命令成功其返回值为0。
5             重定向
linux下常用的重定向命令
command > filename 把把标准输出重定向到一个新文件中
command >> filename 把把标准输出重定向到一个文件中(追加)
command 1 > fielname 把把标准输出重定向到一个文件中
command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把把标准错误重定向到一个文件中
command 2 >> filename 把把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2 把c o m m a n d命令以f i l e n a m e文件作为标准输入,以f i l e n a m e 2文件
作为标准输出
command < filename 把c o m m a n d命令以f i l e n a m e文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到d e l i m i t e r分界符
command <&m 把文件描述符m作为标准输入
command >&m 把标准输出重定向到文件描述符m中
command <&- 关闭标准输入
因此
>/dev/null 2>&1
也就很容易理解了,就是不显示错误消息和命令的输出。
6             export
环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。s h e l l中执行的用户进程均称为子进程。不像本地变量(只用于现在的s h e l l)环境变量可用于所有子进程,这包括编辑器、脚本和应用。
传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用e x p o r t命令导出。环境变量与本地变量设置方式相同。
DUALCASE=1; export DUALCASE # for MKS sh
就是导出了一个称为DUALCASE的环境变量。

configure解释

在configure的第一段就是: if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then  emulate s...
  • linking520
  • linking520
  • 2012年03月29日 12:22
  • 204

./configure --prefix --with解释

安装httpd时,进行指定安装,用到./configure --prefix 具体解释:.表示当前目录。/是目录分隔符。合起来就是当前目录下 指定安装路径 不指定prefix,则可执行文件默认放在/u...
  • lgstudyvc
  • lgstudyvc
  • 2015年08月20日 10:09
  • 6685

linux configure参数解释

'configure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上'--help'选 项执行'configure'脚本可以看到可用的所有选项....
  • garn_hsia
  • garn_hsia
  • 2012年01月07日 13:51
  • 170

QT configure参数解释

在编译QT前,可加各种参数来定制自己想要的QT库。这对需要裁减QT库的朋友来说非常重要。对于如何编译QT,可以参考:http://hi.baidu.com/agassi%5Fp/blog/item/4...
  • HiRuyue
  • HiRuyue
  • 2014年02月24日 11:14
  • 555

Linux configure 参数解释

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而...
  • leixiaohua1020
  • leixiaohua1020
  • 2013年10月19日 17:01
  • 2263

qt configure参数解释

Usage:  configure [-h] [-prefix ] [-prefix-install] [-bindir ] [-libdir ][-docdir ] [-headerdir ] [-...
  • huguohu2006
  • huguohu2006
  • 2011年01月07日 13:31
  • 800

linux configure 参数解释

linux configure 参数解释         Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变...
  • baliguan163
  • baliguan163
  • 2013年09月16日 10:51
  • 841

Qt configure 参数 解释

在 编译QT前,可加各种参数来定制自己想要的QT库。这对需要裁减QT库的朋友来说非常重要。对于如何编译QT,可以参 考:http://hi.baidu.com/agassi%5Fp/blog/item...
  • qtcreatorlinux
  • qtcreatorlinux
  • 2011年09月05日 08:53
  • 448

configure pkg-config PKG_CONFIG_PATH(解释)

1.什么是configure       configure会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所需的Makefile文件供程序Make读入使用进而...
  • l460602540
  • l460602540
  • 2011年11月05日 19:45
  • 454

configure参数解释

 'config ure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上'--help' 选项执行'config ure'脚本可以看到可用的...
  • whfyzg
  • whfyzg
  • 2010年10月29日 09:59
  • 375
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:configure解释
举报原因:
原因补充:

(最多只允许输入30个字)