一、.sh文件介绍

.sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件。

二、点命令(.)

.命令source是同一个命令,可以理解为source的缩写,简称点命令

三、sh/base/source/.命令执行.sh文件的区别

假如有一个文件test.sh,脚本内容如下

#!/bin/bash
echo "step 1 sleeping"
sleep 200
echo "step 2 sleeping"
sleep 200

那么,现在按以下4种方式执行:

1、./test.sh

2、sh test.sh/bash test.sh

3、. test.sh

4、source test.sh

他们有何区别?

1、第一种方式,是在当前的shell执行脚本本身,也就是说把test.sh当成一个文件执行,这时候我们需要拥有test.sh的运行权限(x权限),而且当我们在执行此命令时,有2个新进程在运行,一个是test.sh,一个是sleep,如果我们在执行第一个sleep时按ctrl+c终止脚本,test.sh和sleep一起终止,并且第二个sleep不会执行,因为整个test.sh运行已经终止。

提示:假设这个test.sh文件在用户目录下,不要为.搞乱了,其实./的意思可以理解为运行当前目录下的.sh脚本或者程序,这个效果和~/test.sh是同一个效果,其中~/表示用户目录

2、第二种方式,是新建一个shell执行test.sh脚本里面的命令,不需要执行权限,有读取权限(r权限)即可,在执行此命令时,有2个新进程在运行,一个是bash,一个是sleep,如果执行第一个sleep时按ctrl+c,bash被终止,结果和第一种方式一样,第二个sleep不会执行。

提示:bash是sh的加强版,也可以说是sh是bash的一个子集,用这两个命令运行.sh文件效果基本一致。

3、第三种方式,是在当前shell执行test.sh里面的命令,不需要执行权限,有读取权限(r权限)即可,在执行此命令时,只有一个新进程在运行,就是sleep,如果在执行第一个sleep时按ctrl+c终止,那么第二个sleep接着运行,直到脚本所有命令执行完。

4、第四种方式和第三种方式一致。

以上转自:http://www.zengdongwu.com/article3.html

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

Linux下sh/bash/source/.命令的区别(转)相关推荐

  1. Linux下su与su -命令的区别

    Linux下su与su -命令的区别 在启动服务器ntpd服务时遇到一个问题 使用 su root 切换到root用户后,不可以使用service命令: 使用 su - 后,就可以使用service命 ...

  2. linux cp mv区别,浅谈Linux下mv和cp命令的区别

    1.功能上的区别 mv:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中. cp: 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中. 2.从inode角度来区分 mv:会 ...

  3. linux下su,su-,sudo命令的区别和用法

    目录 一.区别 二.su,su- 命令介绍 三.sudo 命令介绍 四.用法介绍 注: 1.以下测试在ubuntu 9.10上进行,其他平台未测试. 2.本文只是我个人的理解,不一定完全正确 3.版权 ...

  4. linux查代替命令,Linux下查/删/替 命令(转)

    ▪查看某目录下所有文件的个数: [root@localhost1 opt]# ls -l |grep "^-"|wc -l ▪查看某目录下所有文件的个数,包括子目录里面的: [ro ...

  5. linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。

    linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 原创未通过审 ...

  6. linux系统下的shell是什么,Linux系统中shell各命令的区别有什么?

    今天小编要跟大家分享的文章是关于Linux系统中shell各命令的区别有什么?喜欢Linux系统并对此感兴趣的小伙伴们快来一起看一看吧~希望对你有所帮助. 1.xargs作用: (1)将前一个命令的标 ...

  7. Linux下convert批处理的命令及其与Windows下nconvert的区别与联系

    Linux下convert批处理的命令及其与Windows下nconvert的区别与联系 linux下可以利用convert命令来直接进行图像的批处理,而windows下只能借助nconvert.ex ...

  8. linux定时执行任务命令,crontab(linux下定时执行任务命令)

    在linux在可以通过在脚本里(列如sh)写如日常需要进行的操作,然后通过crontab定时运行脚本. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度:系统周期性所要执行的 ...

  9. Linux下deb包和rpm包区别

    linux安装软件的三种方式 deb,rpm,yum,apt-get安装 源码编译安装 二进制安装 Linux下deb包和rpm包区别 有的系统只支持使用rpm包安装,有的只支持deb包安装,混乱安装 ...

最新文章

  1. 删除时存在依赖_从一次线上故障来看redis删除机制
  2. 关于Unity中从服务器下载资源压缩包AssetBundle的步骤
  3. 设计模式之一:单例模式
  4. oracle学习笔记(一)------oracle基础知识和基本sql语句
  5. centos 安装jdk_Centos7下安装一个或多个tomcat7完整
  6. boost::fusion::traits::tag_of用法的测试程序
  7. oracle 读懂10046视频,10046、10053、实操记录
  8. jQuery 插件写法
  9. Yii框架官方教程增补篇3——开始:创建第一个Yii应用
  10. 推荐一款弹出窗口插件 lhgdialog 4.2.0 正式版
  11. python函数拟合
  12. iphone计算机同样答案,学会这4招,iPhone搭配Windows电脑一样好用
  13. 学习笔记——PWM脉宽调制信号的发生与控制
  14. 【261期】为什么 BigDecimal 类不能使用 equals() 方法做等值比较?
  15. module_platform_driver()
  16. javauniapp+SpringBoot即时通讯聊天软件源码
  17. 使用dnsmasq作为dns服务器
  18. Markdown书写软件Typora的使用 -- 渲染(让你的Typora更上档次)
  19. DSP CCS12.00 芯片:TMS320F28335 直流电机部分 + TFTLCD 显示部分 + 按键模块
  20. Android /iPhone/iPad UI之常用图标尺寸规范

热门文章

  1. OpenvSwitch代码分析之bridge和port
  2. win7下安装dynamips完全版
  3. python kafka 生产
  4. 技巧|利用 Python 实现多任务进程
  5. c 语言set用法,使用
  6. .axf文件_干货!STM32晶振的更改,BIN文件的生成
  7. 简单介绍vue获取token实现token登录的示例代码
  8. 【数据结构】HashMap 面试题8问
  9. 关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作
  10. 贪心 ---- Educational Codeforces Round 90 (Rated for Div. 2)D Maximum Sum on Even Positions[偶数子段最大和]