我的编程空间,编程开发者的网络收藏夹
学习永远不晚

执行Shell脚本的4种方法及区别介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

执行Shell脚本的4种方法及区别介绍

执行shell脚本有以下几种方式

1、相对路径方式,需先cd到脚本路径下

[root@banking tmp]# cd /tmp  

[root@banking tmp]# ./ceshi.sh

脚本执行成功

2、绝对路径方式

[root@banking tmp]# /tmp/ceshi.sh

脚本执行成功

3、bash命令调用

[root@banking /]# bash /tmp/ceshi.sh

脚本执行成功

4、. (空格) 相对或绝对方式

[root@banking /]# . /tmp/ceshi.sh

说下几种方式的区别

第一种和第二种没有什么区别,两种方式都需要提前赋予脚本以执行权限。

第三种是把脚本当做bash的调用来处理,所以,脚本不需要有执行权限就可以执行。

前三种方式都是在当前shell中打开一个子shell来执行脚本内容,当脚本内容结束,则子shell关闭,回到父shell中。

第四种是使脚本内容在当前shell里执行,而不是单独开子shell执行。

开子shell与不开子shell的区别就在于,环境变量的继承关系,如在子shell中设置的当前变量,不做特殊通道处理的话,父shell是不可见的。

而在当前shell中执行的话,则所有设置的环境变量都是直接生效可用的。

验证:

[root@banking /]# cat /tmp/ceshi.sh   

top

1、前三种执行方式下的pstree显示

├─sshd─┬─sshd───bash───bash───top  

│      └─sshd───bash───pstree

2、第四种执行方式下的pstree显示

├─sshd─┬─sshd───bash───top  

│      └─sshd───bash───pstree

3、验证环境变量设置的继承关系及可见关系
建立两个脚本,father.sh和subshell.sh。其中father.sh调用subshell.sh

[root@banking /]# cat /tmp/father.sh 

v_ceshi='father'

#-------父shell中定义变量

echo "以子shell方式调用脚本"

/tmp/subshell.sh

echo "输出v_ceshi值为${v_ceshi}"

echo ""

echo "在当前shell中执行脚本"

. /tmp/subshell.sh

echo "输出v_ceshi值为${v_ceshi}"

[root@banking /]# 

[root@banking /]# cat /tmp/subshell.sh 

v_ceshi=son

[root@banking /]#

执行结果为

[root@banking /]# /tmp/father.sh 

以子shell方式调用脚本

输出v_ceshi值为father

在当前shell中执行脚本 输出v_ceshi值为son

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

执行Shell脚本的4种方法及区别介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

执行Shell脚本的4种方法及区别介绍

执行shell脚本有以下几种方式 1、相对路径方式,需先cd到脚本路径下[root@banking tmp]# cd /tmp [root@banking tmp]# ./ceshi.sh脚本执行成功 2、绝对路径方式[root@ban
2022-06-04

执行Shell脚本的4种方法及区别是什么

这篇文章主要讲解了“执行Shell脚本的4种方法及区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“执行Shell脚本的4种方法及区别是什么”吧!执行shell脚本有以下几种方式1、相
2023-06-09

shell脚本5种执行方式及脚本不同的执行方法和区别详解

目录前言概述正题一、方式1绝对路径和方式2相对路径,可以归纳为同一种方法二、方式3使用 sh/bash命令来执行三、方式4使用 . (空格)脚本名称来执行四、方式5使用 source 来执行(主要用于生效配置文件)区别1.关于执行权限2.关
2022-07-19

Shell脚本中执行sql语句操作mysql的5种方法

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具
2022-06-04

Shell脚本对比两个文本文件找出不同行的方法介绍

这篇文章主要介绍“Shell脚本对比两个文本文件找出不同行的方法介绍”,在日常操作中,相信很多人在Shell脚本对比两个文本文件找出不同行的方法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本
2023-06-09

让Linux下的cron以秒为单位执行shell脚本的3种方法

需要用到Shell脚本每隔3秒钟去监控一个软件进程的运行状态,发现crond似乎只支持到分,不知道秒,怎么办呢? 第一种方法: 当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下: cat kick.sh#!/bin
2022-06-04

Shell脚本批量重命名文件后缀的3种实现方法介绍

本篇内容主要讲解“Shell脚本批量重命名文件后缀的3种实现方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本批量重命名文件后缀的3种实现方法介绍”吧!需求:家目录下有一些sq
2023-06-09

编程热搜

目录