Linux系统中source是用来干嘛的~

 我来答
匿名用户
2017-04-26
展开全部
[误解]
#define _XOPEN_SOURCE
决不是简单的宏定义
它是使程序符合系统环境的不可缺少的部分
[概念]
Glibc 所实现全部或部分规范下的功能有:
1.ISO C: C语言国际标准.
2.POSIX: 操作系统的 ISO/IEC 9945 (aka IEEE 1003) 标准.
3.Berkeley Unix: BSD 和 SunOS.
4.SVID: V 系统接口描述.
5.XPG: The X/Open Portability Guide.
程序中,为了实现上述功能需要定义对应的宏。如第二个功能POSIX,应定义 _POSIX_SOURCE。类似的有 _BSD_SOURCE、_SVID_SOURCE、_XOPEN_SOURCE。
也就是说:
#define _XOPEN_SOURCE
是为了可以使用 5. The X/Open Portability Guide 的功能。
[实用方法]
使用上述五种功能的方法有两种:
1)在cc命令中指定,如:cc -D _POSIX_SOURCE file.c
2)将源程序的第一行设置为:#define _POSIX_SOURCE 1
[_XOPEN_SOURCE是什么?]
翻译成汉语表达很蹩脚,英文原版解释如下:
Macro: _XOPEN_SOURCE
If you define this macro, functionality described in the X/Open Portability Guide is included. This is a superset of the POSIX.1 and POSIX.2 functionality and in fact _POSIX_SOURCE and _POSIX_C_SOURCE are automatically defined.
As the unification of all Unices, functionality only available in BSD and SVID is also included.
If the macro _XOPEN_SOURCE_EXTENDED is also defined, even more functionality is available. The exa functions will make
百度网友cce130d
2017-04-26 · TA获得超过531个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:160万
展开全部

source命令用法:

# linuxprobe.com
/tmp > source FileName

主要功能:

在当前环境(如bash)下读取并执行FileName文件中的命令。

注意事项:

该命令通常用命令“.”来替代,因此下面两条命令是等效的。

> source .bash_rc
> ./.bash_rc

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

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-04-26
展开全部
简单来说就是将设置在文件中的配置信息马上生效
比如你设了一个alias,或者一个PATH
如果你不source修改的文件的话,只有等下次重启后才能生效
如果你source了就马上生效了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可靠的梦想之星
2020-10-23 · TA获得超过587个赞
知道小有建树答主
回答量:926
采纳率:78%
帮助的人:37.4万
展开全部

source是用来执行脚本程序的,也可以使用.来代替。例如你有个脚本文件叫test.sh,你可以这样运行
source test.sh
或者
. test.sh

详细Linux命令介绍请如下图方式进行查找

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-04-26
展开全部
  作用:
  使配置文件生效
  原理:
  置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
  source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。
  注:该命令通常用命令“.”来替代。
  如:source .bash_rc 与 . .bash_rc 是等效的。
  注意:source命令与shell scripts的区别是,
  source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式