Linux 下脚本的执行方式有分三种:

(1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)source script-name或者. script-name。下面,分别介绍下这三种方式的特点:

(1)bash script-name或者sh script-name

这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法。推荐使用这种方法。

(2)path/script-name或者./script-name

指在当前路径下执行脚本(脚本需要有执行权限),需要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方法为:chmod a+x script-name。然后通过执行脚本绝对路径或者相对路径就可以执行脚本了。
注意:在生产环境中,运维人员由于忘记为该脚本设置可执行权限,然后直接使用,导致出错。因此,推荐第一种 bashscript-name。

(3)source script-name或者. script-name

source或者“.”命令的功能是:读入脚本并执行脚本,即在当前Shell中执行source或“.”加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。
创建一个sh1.3.sh脚本

#!bin/bash
fruit=apple
count=5
echo "We have $count ${fruit}(s)"


这里文件没有执行权限,按照上述的三种执行方式:
1、./script.sh

为了可以执行该文件,需要对该文件的权限进行修改即可

注意:该种方式也是产生了一个子进程Shell,因此echo $fruit仍然找不到该变量

2、bash script.sh

现在显示在脚本中定义的变量fruit

变量fruit的值是空的。不难理解,bash script-name是产生了一个子进程shell,而我们当前的操作还在父shel中因此得不到该变量值
3、. script.sh


可以成功的输出变量的值。这是因为source script-name和. script-name是将script-name中的内容直接加载到当前的shell,因此能够输出当前变量的值

Linux之脚本执行相关推荐

  1. Linux shell脚本执行后出现语法错误: 未预期的文件结尾

    Windows环境下编写了一个shell脚本,上传到Linux环境中执行,Linux shell脚本执行后出现 语法错误: 未预期的文件结尾. 出现了此错误提示,进行了如下的检查:1.检查Shell脚 ...

  2. linux shell脚本执行sql语句建表建库

    linux shell脚本执行sql语句建表建库 1. 创建sql脚本 2. 创建shll脚本 1. 创建sql脚本 创建contract_ddl.sql -- 创建数据库contract_user ...

  3. Linux shell脚本执行SQL

    Linux shell脚本执行SQL 1. 创建.sh文件:[root@user]# mkdir /shell.sh (创建到当前所在目录pwd查看目录) 2. 编辑shell.sh文件:[root@ ...

  4. Linux系统命令行执行MySQL脚本

    利用Linux系统脚本执行MySQL的sql脚本方法有很多,这里抽取两种已经验证过的方法(验证环境:麒麟3.3+,centos7,MySQL 8)举例. 第一种:利用管道符调用SQL文件: 脚本(假设 ...

  5. 用python编写脚本计算linux_利用Python3实现Linux的脚本功能 !

    Python 3的更新已经有一段时间了,相比较于Python2也有许多不同的改变,Python 3 在Linux中也是利用比较多的,这里主要实践了一些Python3利用Linux的脚本执行命令. !/ ...

  6. Linux下如何执行Shell脚本

    Linux下如何执行Shell脚本 Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 ...

  7. linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项

    原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...

  8. linux shell脚本的执行方式与区别

    linux shell脚本的执行方式与区别

  9. Linux shell:执行shell脚本的几种方式

    在Linux命令行执行shell脚本有如下三种方式: 1)bash test or sh test 2)./test 3)test 注:第三种方式需要将当前目录添加到PATH,否者会提示:-bash: ...

最新文章

  1. 大话移动开发之QT-Quick
  2. 香港小學一年級入學考試題
  3. 【全真互联网下音视频通信技术演进】
  4. 高性能队列——Disruptor
  5. NSLog打印当前文件,当前函数,当前行数
  6. 前端学习(2831):小程序事件绑定
  7. 【前端】这可能是你看过最全的css居中解决方案了~
  8. 该怎么输出log?!
  9. Java基础篇:一个简单的类
  10. 淘宝类目列表1~2~3~4~5级。及根据淘宝商品ID查询基础信息,类目ID查类目信息API调用
  11. 微型计算机原理8255跑马灯,单片机+74LS138译码器+跑马灯+8255A+8253方波实验详解
  12. linux清除所有后台程序,Linux查看和关闭后台运行程序的方法
  13. 求职数据分析师岗位,简历应该如何写?|工科生三个月成功转行数据分析心得浅谈
  14. 定性与定量的单变量正态性检验
  15. 香港传媒高层访团莅临深之蓝参观访问
  16. 破解jQuery插件收费、下载币(单页扒站小工具)
  17. 利用0day-java环境-宏感染-安卓客户端进行渗透
  18. 【论文翻译和解释(2)】LOF:Identifying Density-Based Local Outliers论文精读
  19. java8新特性学习笔记之唠唠“匿名内部类与lambda”
  20. activiti会签多人审批(通过以及驳回)

热门文章

  1. UOJ #310 黎明前的巧克力 (FWT)
  2. Java编程思想:擦除的神秘之处
  3. 百度经验怎么赚钱之练就三星经验,轻松布局流量入口。
  4. CentOS7安装xfce桌面环境
  5. 兰山天书(贺兰山岩画)
  6. 论论资排辈和有能者居之
  7. 设计模式总结之Composite Pattern(组合模式)
  8. linux 7 zip软件下载,linux安装使用7zip教程
  9. C++ Primer 5th笔记(2)chapter 2变量和基本类型:变量声明、关键字
  10. 近世代数--有限交换群--存在元素的阶是群阶的素因子