linux source 命令?source除了linux还有什么

大家好,今天小编来为大家解答linux source 命令这个问题,source除了linux还有什么很多人还不知道,现在让我们一起来看看吧!

Linux中source命令的用法

在Linux中,source命令扮演着重要角色。它通常用于实时更新刚修改过的初始化文件,无需重新登录即可生效。source命令的用法相当直观,只需在命令行中输入"source filename"或"source filenames"即可。除了常规用途,source还有助于简化编译系统核心的过程。当需要连续执行一系列命令,如make mrproper、menuconfig等,可以将这些命令组合成一个文件,如make_command,然后在Linux源代码目录下运行"source make_command"。这个文件就像一个脚本,按顺序执行各个命令,极大地方便了反复编译内核的用户。

例如,你可以在make_command文件中写入:

make mrproper&& make menuconfig&& make dep&& make clean&& make bzImage&& make modules&& make modules_install&& cp arch/i386/boot/bzImage/boot/vmlinuz_new&& cp***.map/boot&& vi/etc/lilo.conf&& lilo-v

每次需要编译时,只需在源代码目录下运行source make_command,系统会按照指定顺序执行。如果使用其他引导程序,可以去掉最后两行关于lilo的命令,以适应你的引导设置。需要注意的是,&&符号用于确保前一个命令成功执行后,才会继续执行下一个命令,确保命令间的执行顺序。

linux下的Source命令的基本功能

source命令用法:source FileName

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

注:该命令通常用命令".”来替代。

使用范例:

1、source filename

2、. filename#(中间有空格)

source命令(从 C Shell而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。

同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如.bash_profile和.profile等等。

例如,假如在登录后对.bash_profile中的 EDITER和 TERM变量做了修改,则能够用source命令重新执行.bash_profile中的命令而不用注销并重新登录。

比如在一个脚本里export$KKK=111,假如用./a.sh执行该脚本,执行完毕后,运行echo$KKK,发现没有值,假如用source来执行,然后再echo,就会发现KKK=111。

因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。

source命令(从 C Shell而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。

这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。

扩展资料:

source命令的用法:

在编译核心时,常常要反复输入一长串命令,如:

这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序执行,对于需要多次反复编译核心的用户来说,会很方便。

用source命令可以办到这一点。它的作用就是把一个文件的内容当成是shell来执行。

先在/usr/src/linux-2.4.20目录下建立一个文件,取名为make_command,在其中输入如下内容:

文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入source make_command就行了。这个文件也完全可以做成脚本,只需稍加改动即可。

shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如make mrproper&& make menuconfig,表示要第一个命令执行成功才能执行第二个命令。

对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。

Linux中source命令的使用方式

source命令是一个内置的 shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。

source命令可用于:

刷新当前的shell环境

在当前环境使用source执行Shell脚本

从脚本中导入环境中一个Shell函数

从另一个Shell脚本中读取变量

source命令的语法

source命令它需要一个文件,如果提供了参数,那么将用作传递脚本的位置参数。

source FILENAME [ARGUMENTS]

也可以使用.替代source命令:

. FILENAME [ARGUMENTS]

如何使用source命令

1.刷新当前的shell环境

可以在当前的shell环境中定义一个别名。为ls-al定义一个别名为ll:

[root@localhost~]# echo"alias ll='ls-al'">>~/.bashrc

在~/.bashrc文件中定义完别名,可以使用source命令刷新当前shell环境:

[root@localhost~]# source~/.bashrc

现在可以使用ll别名列出当前目录里所有文件了,包括隐藏文件。

2.在当前环境使用source执行Shell脚本

Shell脚本不知道你在当前Shell环境中定义的变量。source命令可用于在当前会话中执行你的Shell脚本。

下面在定义一个变量:

[root@localhost~]# website=. linux probe.com

创建一个脚本:

[root@localhost~]# vim web.sh

#!/bin/bash

echo$website

使用source在当前shell会话中执行它:

[root@localhost~]# source web.sh

当使用sh运行脚本时,找不到环境中定义的变量:

3.从脚本中导入环境中一个Shell函数

首先创建一个脚本,定义一个函数:

[root@localhost~]# vim func.sh

#!/bin/bash

foo(){

  echo"test function!"

}

要在当前的shell会话中导入上述脚本的功能,使用下面命令:

[root@localhost~]# source func.sh

下面在终端中执行以下func.sh脚本中的foo函数试试:

[root@localhost~]# foo

test function!

source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。

4.从另一个Shell脚本中读取变量

首先创建带有一些变量的shell脚本,请输入:

[root@localhost~]# vim var.sh

#!/bin/bash

a=1

b=2

c=3

再创建一个脚本,该脚本读取上一个脚本var.sh中的变量:

[root@localhost~]# vim read.sh

#!/bin/bash

source~/var.sh

echo$a

echo$b

echo$c

在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面执行read.sh看一下:

5.读取并执行命令

source命令可以从文件读取和执行命令。下面的一个文本文件中带有两个命令,使用source命令运行该文件,看看是否会执行里面的命令。

下面创建一个文件cmd.txt,保存两个命令:

[root@localhost~]# cat cmd.txt

ip ad

date

下面使用source执行这个文件:

[root@localhost~]# source cmd.txt

总结

source命令在当前shell中执行脚本,而exec命令在新的shell中运行。

阅读剩余
THE END