source的作用详细讲解

source /etc/profile 文件的作用
linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效。

问题描述:
在/etc/profile中添加环境变量后,是使用source /etc/profile编译后只能在当前终端生效;

重新开启一个终端后,该环境变量失效。

解决方法:
重启系统:reboot,问题解决;

因为设置的环境变量,并没有真正生效,只是使用source 命令让临时运行而已。

环境变量设置方法:
1、/etc/profile:是操作系统定制用户环境使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境的变量。
3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该文件仅仅执行一次,默认情况下,设置一些环境变量,执 行用户的.bashrc文件。

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

设置永久环境变量
1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中
2.选择要使用的java环境:update-alternatives –config java
3.要使得刚修改的环境变量生效:source .bashrc
4.查看环境变量:env
可以放到/etc/bash/bashrc,这样就是系统级的

source命令用法:
source FileName:作用:在当前bash环境下读取并执行FileName中的命令。

注:该命令通常用命令“.”来替代,如:source .bash_rc 与 . .bash_rc 是等效的。

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

在 Apache Kafka Connect 中,`SourceRecord` 是一个用于表示源系统中的单个记录的类。它包含了 Kafka 主题、分区、偏移量,以及记录的键和值等所有重要的元数据信息。下面是一些关于 `SourceRecord` 类的详细讲解: ### 构造函数 `SourceRecord` 类有多个构造函数,其中最常用的一个包含以下参数: ```java public SourceRecord( Map<String, ?> sourcePartition, Map<String, ?> sourceOffset, String topic, Integer partition, Schema keySchema, Object key, Schema valueSchema, Object value ) ``` - `sourcePartition`:一个 `Map` 对象,表示包含记录的源系统的分区信息。通常包括分区 ID 等信息。 - `sourceOffset`:一个 `Map` 对象,表示包含记录的源系统的偏移量信息。通常包括偏移量值等信息。 - `topic`:一个 `String` 对象,表示记录所属的 Kafka 主题。 - `partition`:一个 `Integer` 对象,表示记录所属的 Kafka 分区。 - `keySchema`:一个 `Schema` 对象,表示记录的键的模式。可以为 `null`。 - `key`:一个 `Object` 对象,表示记录的键的值。可以为 `null`。 - `valueSchema`:一个 `Schema` 对象,表示记录的值的模式。可以为 `null`。 - `value`:一个 `Object` 对象,表示记录的值的值。可以为 `null`。 ### 方法 `SourceRecord` 类包含了以下几个重要的方法: - `sourcePartition()`:返回包含记录的源系统的分区信息的 `Map` 对象。 - `sourceOffset()`:返回包含记录的源系统的偏移量信息的 `Map` 对象。 - `topic()`:返回记录所属的 Kafka 主题。 - `partition()`:返回记录所属的 Kafka 分区。 - `keySchema()`:返回记录的键的模式。可能为 `null`。 - `key()`:返回记录的键的值。可能为 `null`。 - `valueSchema()`:返回记录的值的模式。可能为 `null`。 - `value()`:返回记录的值的值。可能为 `null`。 除此之外,`SourceRecord` 类还包含了一些其他的方法,例如 `toString()` 等。 ### 使用示例 下面是一个使用 `SourceRecord` 类的示例: ```java SourceRecord record = new SourceRecord( Collections.singletonMap("partition", "0"), Collections.singletonMap("offset", 12345), "my-topic", 0, Schema.STRING_SCHEMA, "my-key", Schema.STRING_SCHEMA, "my-value" ); ``` 在这个示例中,我们创建了一个名为 `record` 的 `SourceRecord` 对象,它表示了一个名为 `my-topic` 的 Kafka 主题中的一个记录,分区 ID 为 0,偏移量为 12345。记录的键为 "my-key",值为 "my-value"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值