bash xx.sh 或者sh xxx.sh
脚本没有可执行权限或没有指定解析器,使用的方法。

会产生一个子shell来执行脚本,脚本执行完毕后再返回父shell,所以脚本里面的变量获取不了。

/xxx/xxx.sh 或 ./xxx.sh
脚本需要有执行权限,通过chmod +x xxx.sh来添加即可。

会产生一个子shell来执行脚本,脚本执行完毕后再返回父shell,所以脚本里面的变量获取不了。

source xxx.sh 或者 . xxx.sh
先读入或加载xxx.sh脚本,然后从上到下依次执行脚本。是在当前的shell执行脚本,脚本中的变量可以正常获取输出!

source 和 . 相当于include的功能!

在一个脚本中需要引用另一个脚本,直接source script.sh 然后这个脚本产生的变量可以在当前脚本中使用了。如果是sh script.sh则变量获取不了。

sh < xxx.sh 或者 cat xxx.sh|sh

例子:

[xxx@hostname ~]$ cat b.sh        # b.sh脚本内容如下
user=`whoami`[xxx@hostname ~]$ ./b.sh          # 没有chmod +x 使用路径直接执行,包没有权限
-bash: ./b.sh: Permission denied[xxx@hostname ~]$ bash b.sh       # 没有执行权行或没有指定解析器,使用sh 执行[xxx@hostname ~]$ echo $user      # 脚本产生的变量为空!!因为sh 执行变量保存到子shell中了[xxx@hostname ~]$ source b.sh     # 需要在当前父shell获取脚本产生的变量,使用source [xxx@hostname ~]$ echo $user      # 脚本的变量可以获取
xxx

linux shell 执行 几种方式区别 bash source .相关推荐

  1. linux shell执行方式

    linux shell执行有两种方式 shell脚本以#!/bin/bash开头,执行shell时先检查首行,在内部以下列方式执行: $/bin/bash script.sh 1. 使用sh执行. $ ...

  2. linux远程登录三种方式telnet,ssh,vnc

    linux远程连接三种方式telnet,ssh,vnc telnet和ssh服务只能实现基于字符界面的远程控制,如果要基于图形界面进行远程控制,可以借助免费的VNC来完成. 一.telnet连接 1. ...

  3. windows系统中查看linux分区的三种方式

    双系统中windows查看linux分区的三种方式 一.这个算是大家早有耳闻的啦,就是使用Explore2fs这个工具,可以去 http://www.chrysocome.net/explore2fs ...

  4. linux shell参数传递、获取方式

    linux shell参数传递.获取方式

  5. win 读 linux分区,windows系统中查看linux分区的三种方式

    双系统中windows查看linux分区的三种方式 一.这个算是大家早有耳闻的啦,就是使用Explore2fs这个工具,可以去 官方网站下载,这个工具用法简单就不多说了,如图所示: 二.使用一个叫磁盘 ...

  6. linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别

    在linux shell中, 执行shell script的方式有多种, 有什么区别呢? 现在用一个简单例子再来说下. a.sh的内容是: #! /bin/bash echo hello world ...

  7. Linux shell:sh csh tcsh ash bash dash zsh

    Shell :贝壳,寓意类似内核的壳,Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell 是一个用 C 语言编写的程序,它是用户使用 Linux ...

  8. linux shell 执行多个文件,/etc/profile、~/.bash_profile等几个文件的执行过程

    关于登录linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在 刚登录Linux时,首先启动 /etc/profil ...

  9. linux安装mysql四种方式

    一.前言 linux下安装mysql大概有四种安装方式,分别为仓库安装.本地安装.容器安装.以及源码安装.这几种方式分别对应着不同的工作环境,因此掌握这四种安装mysql方式便会极大的提高我们的工作效 ...

最新文章

  1. Django中ORM之或语句查询
  2. when and where is beanDefinitionNames filled
  3. net Core做一个webApi的简单实例
  4. XNA开发思考之3D开发中的小常识
  5. 中台唯一的胜利果实:大数据中台架构详解
  6. span的取值与赋值(原生js与jquery) - 对比篇
  7. 代码注释: (文字图案:HIRE)
  8. torchtext处理文本数据——使用自己的word2vec模型作为词向量建立词表(学习二)
  9. 代码英雄之云间战争:寡头时代,路在何方?
  10. 华为手机USB调试与Log
  11. 生成PDF的几种方式
  12. 麒麟操作系统产业化项目落户天津
  13. 【语义分割系列:一】DeepLab v1 / v2 论文阅读翻译笔记
  14. Docer 在centos中修改默认镜像配置
  15. Vue使用Swiper看这一篇就够了
  16. Messari分析师:买下一个JEPG时,先看看其存储层和元数据信息
  17. 便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题}
  18. JS逆向加密——B 站弹幕 protobuf 分析
  19. JetBrains所有IDE和.NET 工具 V2022.1全面升级
  20. CUMT2017赛宁杯 GUESS

热门文章

  1. OpenvSwitch — ovs-db 数据库
  2. Go 语言编程 — 高级数据类型 — 数组
  3. C 语言编程 — 内存对齐
  4. 用 C 语言开发一门编程语言 — Q-表达式
  5. NanoPi NEO Air使用十一:编写SPI驱动点亮TFT屏幕,ST7789V
  6. 软件测试工程师们,今年的年终奖你想拿多少?
  7. 并发编程线程通信之管道流
  8. 区块链 - Geth 搭建私有网络-实战
  9. Git常用命令总结(超实用)
  10. ARP命令详解--网络命令详解二