Linux中source filename .(点)filename ./filename sh filename的区别
在shell中source filename 和 . filename是一样的,但source和 ./filename.sh的执行结果有很大区别,借用一张网上的图。如下
可以看到通过./filename.sh执行shell脚本,脚本内执行的命令和设置的环境变量不影响执行shell脚本的shell环境变量,而使用source filename则会影响到执行source filename的shell的环境变量。
以下是三种执行文件的方法比较
source命令用法:
source filename
作用:在当前bash环境下读取并执行filename中的命令。该filename文件可以无执行权限”
注:该命令通常用命令“.”来替代。
如:source .bash_profile 和 . .bash_profile两者等效。
source(或点)命令通常用于重新执行刚修改的初始化文档。
source命令(从 C Shell 而来)是bash shell的内置命令。
点命令,就是个点符号,(从Bourne Shell而来)。sh和bash命令用法:
sh filename bash filename
作用:打开新的子shell,读取并执行filename中的命令。该filename文件可以无“执行权限”
注:两者在执行文件时的不同,是分别用自己的shell来跑文件。
sh使用“-n”选项进行shell脚本的语法检查,使用“-x”选项实现
shell脚本逐条语句的跟踪,可以巧妙地利用shell的内置变量增强
“-x”选项的输出信息等。./的命令用法:
./filename
作用:打开一个子shell来读取并执行FileName中命令。
注:运行一个shell脚本时会启动另一个命令解释器.
Linux中source filename .(点)filename ./filename sh filename的区别相关推荐
- linux source 命令位置,linux中source命令的使用方法
linux中source命令的使用方法 发布时间:2021-05-08 12:29:18 来源:亿速云 阅读:77 作者:小新 这篇文章主要介绍linux中source命令的使用方法,文中介绍的非常详 ...
- linux的source命令,Linux中source命令的用法
Linux中source命令的用法 Linux系统中,source命令通常用"."来代替,是一个点命令,与一般的命令有所不同,下面小编就给大家介绍下Linux中source命令的用 ...
- Linux中使用ps、awk、sh一起批量杀死所有的dotnet进程。
一.操作 Linux中使用ps.awk.sh一起批量杀死所有的dotnet进程. 二.参考命令 ps -ef|grep dotnet|awk 'NR==2{print "kill " ...
- Linux 中 which、whereis、locate、find的区别
Linux 中 which.whereis.locate.find的区别 which whereis locate find 总结 which which [-a] cmdname1 cmdname2 ...
- linux挂载到哪个分区,Linux中直接挂载硬盘和挂载分区有什么区别?
1.问题 Linux中直接挂载硬盘和挂载分区有什么区别? 比如 /dev/sdb 的硬盘,直接mkfs.ext4 /dev/sdb 后mount 使用, 和 先fdisk 分区 ,在 mkfs ...
- linux中进程退出函数:exit()和_exit()的区别
linux中进程退出函数:exit()和_exit()的区别 (1)_exit()执行后立即返回给内核,而exit()要先执行一些清除操作,然后将控制权交给内核. (2)调用_exit函数时,其会关闭 ...
- Linux中fstat、stat和lstat的用法与区别
stat系统调用系列包括了fstat.stat和lstat,它们都是用来返回"相关文件状态信息"的,三者的不同之处在于设定源文件的方式不同. struct stat结构体 首先隆重 ...
- Linux中rz -y命令和rz -E命令的区别
把文件上传到Linux中可以用rz指令,一般小文件我们都是用rz -y来进行上传文件,除此之外还可以用rz -E. 我是用的xshell6来链接Linux的,通常手敲指令都是用rz -y,另外还可以直 ...
- Linux中静态库和动态库(共享库)的区别
1. 静态库和动态库的制作过程区别 1.1 静态库的制作过程 详见博客:Linux中静态库的制作与使用 1.2 动态库的制作过程 详见博客:Linux中动态库(共享库)的制作与使用 2. 静态库和动态 ...
最新文章
- Java中的异常和递归
- 青少年软件编程等级考试 python-中国电子学会、北大等推出青少年软件编程等级标准升级版...
- 百度搜索,你画了好大一张饼,你还打算欺骗多少人呢?有图为证
- mysql 5.7.25 的安装与 安装错误修改 适用于5.7解压版
- Java中String类 compareTo()方法比较字符串详解
- 【题解】生日蛋糕-C++
- python 多线程笔记(2)-- 锁
- 无重复字符最长字串的滑动窗口结合哈希表解法(注释详尽)
- 洛谷 1429 平面最近点对(加强版) 快排 非点分治或kdtree
- [Azure][PowerShell][ASM][04]Storage
- android手势解锁代码,纯android代码实现九宫格手势密码
- java实现pdf黑白化 : pdf转图片、图片黑白化、图片转pdf
- 如何使用 Echarts 给绘制出来的地图描边
- 活水决策体系五:自我觉察与控制
- win7网络不显示共享计算机,win7查找不到网络计算机怎么办_win7看不到网络计算机怎么解决-win7之家...
- 万字长文带你解读Linux
- python分析qq好友_Python2.7获取QQ空间部分好友
- 马克下, 初识 runtime (一)
- coreldraw x4怎么写字_CorelDRAW实例:给文字排版的几个小技巧(4)
- 搭建邮箱服务器hMailServer详细教程(Windows)