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命令在执行上的区别:

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命令的各方面情况。

linux source命令路径,source(.)命令相关推荐

  1. Linux系统笔记:shell命令、文件系统、Vi编辑器、文件IO、mmap()、bmp图片格式、线程

    文章目录 一.shell命令集 二.ubuntu文件系统 三.vi编辑器 四.文件IO 五.Linux中C库mmap()函数详解 六.bmp图片格式详解 七.C语言笔记 (一)标准IO函数 time( ...

  2. Linux下sh/bash/source/.命令的区别(转)

    一..sh文件介绍 .sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件. 二.点命令(.) .命令和source是同一个命令,可以理解为sour ...

  3. Linux 学习笔记 (6) —— source命令

    1.source 命令的功能 source filename # filename必须是可执行的脚本文件 或者 . filename # 注意"."号后面还有一个空格 通知 当前s ...

  4. linux脚本 source,Shell 的source命令

    http://www.xxlinux.com/linux/article/development/shell/2006-09-22/4499.html http://www.diybl.com/cou ...

  5. Linux 命令之 source -- 在当前Shell环境中从指定文件读取和执行命令

    文章目录 一.命令介绍 二.命令格式 三.命令示例 一.命令介绍 source 命令会在当前 Shell 环境中从指定文件读取和执行命令.source 命令通常用于重新执行刚修改的初始化文件,使之立即 ...

  6. #!/bin/bash和#!/bin/sh的区别,source命令和exec命令

    Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别 一.含义 #!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的she ...

  7. Linux 查看命令路径 以及相关信息

    Linux  查看命令路径  以及相关信息 一.在linux下通过type命令可以察看命令的路径(外部命令以及相关信息 使用如下: type   java    将显示java执行的目录 参见一下使用 ...

  8. mysql 恢复数据库 source_mysql数据库备份及恢复命令 mysqldump,source的用法 | 很文博客...

    mysql数据库备份及恢复命令 mysqldump,source的用法,需要的朋友可以参考下. 还原一个数据库:mysql -h localhost -u root -p123456 www d:\w ...

  9. linux bash gt,linux之bash的基础特性(一)--gt;命令历史(history命令),命令补全,路径补全...

    关于命令历史-->history 1.与之相关的环境变量:HISTSIZE,HISTFILE-->~/.bash_history,HISTFILESIZE,HISTCONTROL,HIST ...

  10. linux添加了路径还是不能调用_166个最常用的Linux命令,哪些你还不知道?

    击上方蓝色"程序员追风",选择"设为星标" 回复"关键词"获取整理好的面试资料 来源:cnblogs.com/chenliangchaosh ...

最新文章

  1. 构建云安全架构的技巧
  2. Android多线程:这是一份全面 详细的线程池(ThreadPool)讲解教程
  3. leetcode第 46 场双周赛
  4. Flowable 菜单说明
  5. 冷热水龙头_冷热水龙头结构图是怎么样的
  6. Delphi 两种类的声明方法
  7. Java 理论与实践: 处理 InterruptedException(转)
  8. ajax调用后台Datatable
  9. html 报文头 参数 详解 本文转载于 http://stephen830.javaeye.com/blog/335578
  10. Jquery.EasyUI datebox控件
  11. Hadoop安装教程方式
  12. 微星主板节能模式怎么关闭_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比...
  13. 学习攻略 | Python数据挖掘学习路线图
  14. 跨平台数据库ODB实战4-Person类的聚合查询
  15. Halcon找圆系列(1)如何检测圆形
  16. 编程灵异事件簿(一)
  17. 【Python实用工具】暴力破解-1!Python编写四位数密码本
  18. 1156 Sexy Primes (20 point(s)) PAT 素数
  19. java基础,鼠标拖动拼图_使用UGUI实现拖拽功能(拼图小游戏)
  20. STM32不能进入睡眠模式

热门文章

  1. 基于神经网络的系统辨识,神经网络的种类和特点
  2. Microsoft Edge无法打开测试平台的解决方法
  3. 关于target is null for setProperty的问题总结
  4. latex 长表格中放入多行公式
  5. ​公司靠的住么 - 携程做四休三
  6. wpa_supplicant 使用
  7. 社交app的变现方式有哪些?
  8. ❤️C语言自定义类型的介绍❤️(结构体,枚举,联合体,位段)
  9. Win10最新批量激活
  10. 试试54款开源服务器软件 (比较知名的软件大集合)