百摩网
当前位置: 首页 生活百科

linux的命令行语法(Linux中source命令的使用方式)

时间:2023-07-28 作者: 小编 阅读量: 5 栏目名: 生活百科

source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。简而言之,source一个脚本,将会在当前shell中运行execute命令。source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。/bin/bashsource~/var.shecho$aecho$becho$c在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面的一个文本文件中带有两个命令,使用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=https://www.linuxprobe.com

创建一个脚本:

[root@localhost ~]# vim web.sh #!/bin/bashecho $website

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

[root@localhost ~]# source web.sh https://www.linuxprobe.com

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

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

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

[root@localhost ~]# vim func.sh#!/bin/bashfoo(){echo "test function!"}

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

[root@localhost ~]# source func.sh

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

[root@localhost ~]# footest function!

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

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

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

[root@localhost ~]# vim var.sh#!/bin/basha=1b=2c=3

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

[root@localhost ~]# vim read.sh #!/bin/bashsource ~/var.shecho $aecho $becho $c

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

5. 读取并执行命令

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

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

[root@localhost ~]# cat cmd.txt ip addate

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

[root@localhost ~]# source cmd.txt

总结

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

    推荐阅读
  • 茉莉花有花苞的时候可以施肥吗(茉莉花有花苞能施肥吗)

    经长出花苞,则应该使用的是磷钾肥,大家使用磷酸二氢钾这种肥料,对于植物长出花苞,使得花苞尽快开放,有着非常好的效果。使用的比例一般是1:1000,每个月可以使用2~3次,沿着花盆边缘浇灌即可,在夏季给茉莉花施肥需要注意薄肥勤施这一点。

  • 米能放冰箱冷藏室储存吗(米能不能放冰箱冷藏室储存)

    米是可以放冰箱冷藏保存的,因为冰箱里面比较干燥,不易发霉变质,而且温度低,不利虫子生长。但是,不建议存放时间过长,会影响食用口感。米在低温中保存,有利于抑制微生物的活性,还有利于降低酶的活性、抑制大米呼吸、降低游离脂肪酸的产生以及脂肪酸的氧化反应等,可以保持米的新鲜程度。米放入冰箱冷藏后,不建议再拿出来放在常温下储放。由于溫度的转变,会导致米表层吸咐水份,越来越湿冷,容易出现长霉或长虫的情况。

  • 乌龟好养活吗(有具体技巧吗)

    下面希望有你要的答案,我们一起来看看吧!乌龟好养活吗乌龟好养活的,主要从这几方面留意:选阳光晒过的水或静置等氯元素挥发,及时换水。水族箱布置干湿分离,给龟陆地空间和湿润的环境,可布置一些水草。做好清洁工作,给龟刷背或腹甲,经常晒太阳。

  • 六大思维方法

    底线是不可逾越的警戒线、是事物质变的临界点。底线思维注重对危机和风险等负面因素进行管控,而不是降低标准、无所作为。善于运用底线思维,防患于未然,才能赢得人生或工作的主动权。精准思维,本质是要求对具体问题,进行具体分析,具体解决。

  • 书愤与蜀相的异同点(书愤与蜀相的不同点总结)

    接下来我们就一起去研究一下吧!书愤与蜀相的异同点《书愤》和《蜀相》均写于国家动乱的时代,诗人借诸葛亮的事迹来表达心迹。但两首诗的传达情感和写作手法有所不同,《书愤》多用白描和对比,诗风慷慨激昂,抒发了诗人渴望效法诸葛亮、报效祖国的心志与壮志未酬愤懑;《蜀相》借乐景抒哀情,全诗沉郁顿挫,表达了诗人对诸葛亮忠心报国的赞颂以及对其功业未遂的惋惜。

  • 无铅变蛋你确定不尝试一下吗(打蛋也能降噪不伤涂层)

    无论是筷子还是传统的金属打蛋器,都很容易与容器碰撞发出类似的“噪音”。记者走访市内家居用品店发现,目前商家推出了不少聚酰胺塑料的小厨具,以减少对不粘涂层炊具的损害。其主件由强化聚酰胺塑料制成,前端的环状部分也采用这种塑料。一位师奶现场体验后表示:“金属打蛋器会把不粘锅划花,塑料的不会,而且还能够减少厨房的‘噪音’,让我做菜的时候保持心情愉悦。”

  • 和平精英这款游戏现在要下架了吗(这款游戏被玩家称作)

    除此以外,《PubgLite》这款游戏房屋建筑的布局,采用的仍然是《刺激战场》以及《和平精英》的布局。无论是游戏场景,还是建筑的视觉效果,《PubgLite》这款游戏,基本上都是约等于《和平精英》的游戏效果。与网游《绝地求生》相比,在游戏地图方面,《PubgLite》只有3张经典地图,它们分别是海岛、雨林、沙漠。但是因为《PubgLite》好歹也是一款网络游戏,在游戏画面的精细程度上。这也让人怀疑,《和平精英》下一步,会不会同样推出个人竞技模式。

  • 世界水日宣传主题(2020年世界水日宣传主题)

    为满足人们日常生活、商业和农业对水资源的需求,联合国长期以来致力于解决因水资源需求上升而引起的全球性水危机。1977年召开的“联合国水事会议”,向全世界发出严重警告:水不久将成为一个深刻的社会危机,石油危机之后的下一个危机便是水。1993年1月18日,第四十七届联合国大会作出决议,确定每年的3月22日为“世界水日”。

  • 杭州西湖最著名的景点介绍(杭州西湖之十景点)

    曲院风荷③平湖秋月西湖十景之一,位于白堤西端,孤山南麓,濒临外西湖。断桥残雪⑤柳浪闻莺南宋时,这里是京城最大的御花园,称聚景园。其间黄莺飞舞,竞相啼鸣,故有“柳浪闻莺”之称。因寺内钟声宏亮,"南屏晚钟"便成为西湖十景之一。南屏晚钟⑩三潭印月三潭印月又称“小瀛洲”,是西湖三岛中面积最大、景观最丰富的一个。在开阔的湖面上有三座石塔,也是三潭印月的标志,名列西湖十景之一。

  • 人生十大遗憾看看有哪些(人生中三大遗憾)

    老年人完全可以自主地安排好生活,善待自己,这样便会内心富饶。对于美好的事物,并不见得非得要去占有。得到,不一定能长久。不要因为寂寞而错爱,不要因为错爱而寂寞一生。懂得尊重别人的人,才能得到别人的尊重。柔和待人的心态常伴让自己,处处祥和。不要以自己的判断去评论一个人,不要让自己的情绪波及其他人。每一个都是一个独立的个体,应尊重他人的选择。