linux source命令路径,source(.)命令

source命令是Bash的一个builtins,也称为文件包含:

通常用法:source filepath 或. filepath(一个小点)

功能:使当前shell读入路径为filepath的文件并依次执行文件中的所有语句;通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。

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

使用这个命令执行脚本即使没有执行权限也可以运行。

xinlin@ubuntu:~$ . BlogChecker/bin/activate

(BlogChecker) xinlin@ubuntu:~$

(BlogChecker) xinlin@ubuntu:~$ deactivate

xinlin@ubuntu:~$ source BlogChecker/bin/activate

(BlogChecker) xinlin@ubuntu:~$

而activate这个文件本身,默认是没有执行权限的:

xinlin@ubuntu:~/BlogChecker/bin$ ll

total 4416

drwxrwxr-x 2 xinlin xinlin 4096 May 18 06:26 ./

drwxrwxr-x 6 xinlin xinlin 4096 May 18 07:29 ../

-rw-rw-r-- 1 xinlin xinlin 2083 May 18 06:08 activate

-rw-rw-r-- 1 xinlin xinlin 1025 May 18 06:08 activate.csh

-rw-rw-r-- 1 xinlin xinlin 2179 May 18 06:08 activate.fish

-rw-rw-r-- 1 xinlin xinlin 1137 May 18 06:08 activate_this.py

-rwxrwxr-x 1 xinlin xinlin 245 May 18 06:26 chardetect*

-rwxrwxr-x 1 xinlin xinlin 254 May 18 06:08 easy_install*

-rwxrwxr-x 1 xinlin xinlin 254 May 18 06:08 easy_install-3.5*

-rwxrwxr-x 1 xinlin xinlin 236 May 18 06:08 pip*

-rwxrwxr-x 1 xinlin xinlin 236 May 18 06:08 pip3*

-rwxrwxr-x 1 xinlin xinlin 236 May 18 06:08 pip3.5*

lrwxrwxrwx 1 xinlin xinlin 7 May 18 06:08 python -> python3*

-rwxrwxr-x 1 xinlin xinlin 4464400 May 18 06:08 python3*

lrwxrwxrwx 1 xinlin xinlin 7 May 18 06:08 python3.5 -> python3*

-rwxrwxr-x 1 xinlin xinlin 2342 May 18 06:08 python-config*

-rwxrwxr-x 1 xinlin xinlin 233 May 18 06:08 wheel*

xinlin@ubuntu:~/BlogChecker/bin$

source命令与./和sh的区别

./xxxx,使用这个命令需要先将文件提升为可执行的文件才可以进行命令的使用

sh是一个shell,运行sh xxx.sh,表示使用sh来解释这个脚本,sh和source命令一样,没有执行权限也可以运行脚本。

下图是使用sh命令和source命令在执行上的区别:

47299a182a28aa6e7eb782b2f25de2f2.png

sh命令和source命令在执行上的区别

如果直接运行./xxx.sh,首先会查找

举个例子,下面是一段python脚本a.run:

#!/usr/bin/python3

print("This is Python script")

用分别./和sh来执行:

xinlin@ubuntu:~$ ./a.run

This is Python Script

xinlin@ubuntu:~$sh a.run

a.run: line 2: syntax error near unexpected token `"This is Python Script"'

a.run: line 2: `print("This is Python Script")'

因为这是一个python脚本,sh是看不懂的(注意,linux下后缀通常不是很严格,.run后缀是我随意命名的,和windows有点区别)。

以上基本说清楚了source命令的各方面情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值