ubuntu中bash,sh,./,bash区别
当我们使用 sh test.sh 、bash test.sh 、 ./test.sh
运行脚本都会使用一个新的shell环境来执行脚本内的命令,
当子进程完成后,子进程内的各项变量和操作将会结束而不会传回到父进程中。
source方法执行脚本是在父进程中执行的,test.sh的各项操作都会在原本的shell内生效。
不注销系统而要让某些写入~/.bashrc的设置生效时,需要使用 source ~/.bashrc 而不能使用 bash ~/.bashrc
./test.sh 来执行脚本,该方式与 bash test.sh 是一样的 ,默认使用 bin/bash 来执行我们的脚本。
只有该种执行方式需要对文件添加执行权限,其他方式并不需要。
sh、bash、dash三者有些许差别,对于部分关键字如 let,bash支持,而sh和dash并不支持,对于部分关键字则选择使用bash。
这三者的file文件可以无"执行权限"
简单来看
source与另4个最大区别为:是否影响当前shell
./xx和另3个,区别在是否文件需要执行权限
另外3个其实差不多,实际使用可能体会不到,或者不需要关注
参考:
https://blog.csdn.net/u012336923/article/details/50474692
https://www.jb51.net/os/Ubuntu/56385.html
ubuntu中bash,sh,./,bash区别相关推荐
- linux中./和sh的区别
sh是一个shell.运行sh a.sh,表示我使用sh来解释这个脚本:如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linu ...
- Ubuntu中install.sh文件如何执行
在下载的安装包当中的install.sh直接运行无法运行,需要在shell当中使用管理员权限安装. sudo ./install.sh
- bash xx.sh与sh xx.sh以及./xx.sh的区别
在ubuntu中,sh只是bash的一个链接,执行的程序都是一样的,命令解释器是一样的.但bash xx.sh和./xx.sh和sh xx.sh还是有不同的,bash xx.sh和sh xxx.sh都 ...
- linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别
在linux shell中, 执行shell script的方式有多种, 有什么区别呢? 现在用一个简单例子再来说下. a.sh的内容是: #! /bin/bash echo hello world ...
- shell中source、sh、bash、./的区别
一.sh和bash的区别 sh和bash基本是一样,在我的linux环境查看,它俩是一样的: [root@unis0612p02-165 run]# ls -al `which sh` lrwxrwx ...
- Shell脚本中:#!/bin/bash和#!/bin/sh是什么意思以及区别?
意思:#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径. 其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我 ...
- 执行sh脚本提示“[[: not found”解决方案,bash和sh的区别
背景 不想听我罗嗦,可以直接跳转到最后. 笔记本买回来自带windows10,然后由于好奇心重,又给它折腾装上了ubuntu(本来是想支持国产deepin,奈何问题太多).万恶之源开始,ubuntu很 ...
- sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别
sh/bash/csh/Tcsh/ksh/pdksh等shell本质区别 1. Shell脚本的书写 在写Shell脚本时,往往第一行要注明用什么解释器来解释这个脚本. 如#!/bin/bash即用/ ...
- 深入了解bash与sh的区别
在我们所使用的系统当中,使用sh调用执行脚本,相当于打开了bash的POSIX标准模式 (等效于bash的 --posix 参数) 一般的,sh是bash的"子集" (不是子集的部 ...
最新文章
- linux系统密码自动丢失,通过单用户模式找回linux系统丢失的密码
- mysql format不要逗号,mysql格式化小数
- Swift之深入分析字典的下标访问方法的源码调试和汇编实现
- 前端学习(1523):vue-cli项目目录介绍
- 使用嵌套循环,打印四行五列星星矩形(每次只能打印一个*)
- 用MVC做可拖拽的留言板,利用 Jquery模板 -- JsRender
- Java 学习 day09
- U盘检测及量产工具大合集
- 保姆级win7下配置虚拟机-安装Ubuntu20.04
- 保龄球计分c语言程序,求C语言代码解释(保龄球记分程序)
- 完全解析为什么0.1+0.2=0.30000000000000004
- poj1125 Stockbroker Grapevine Floyd算法
- Delphi官方下载地址
- BT下载的原理 和疑问
- Rockchip Android平台GPU/DDR负载变频阈值调整方法
- GOM登录器配置免费版生成图文教程
- 【锐捷交换】接入交换机配置DHCP Snooping + IP Source guard + ARP-check
- STM32CubeMX学习——旋转编码器模块
- 局域网文件服务器怎么备份数据,局域网文件备份软件的使用教程
- 【Windows】重建图标缓存
热门文章
- 上传文件到阿里云OSS报错-Unable to execute HTTP request: You have no right to access this object because of buc
- Spring----getBean的四种用法
- CTO 深度解读 SMTX OS 3.5 产品特性
- 团体程序设计天梯赛-练习集-L1-036. A乘以B
- mysqld.exe
- Mac下安装MySQL(Mac 10.12)
- 《html5 从入门到精通》读书笔记(三)
- Sliverlight中使用Path绘制复杂几何图形
- iframe中元素的获取
- ObjectDataSource控件的使用...