LinuxZone

LinuxZone.net
Linux系统网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux中执行shell脚本的4种方法总结

2023年5月5日 139点热度

Linux中执行shell脚本的4种方式总结,即在Linux中运行shell脚本的4种方式:shell

方式一:切换到shell脚本所在的目录(此时,称为工做目录)执行shell脚本:bash

复制代码代码以下:spa

cd /data/shell
./hello.sh

./的意思是说在当前的工做目录下执行hello.sh。若是不加上./linux模拟,bash可能会响应找到不到hello.sh的错误信息。因为目前的工做目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说linux移植,不在环境变量PASH的内容之中。查看PATH的内容可用echo$PASH命令。现在的/data/shell就不在环境变量PASH中的,因而必须加上./才可执行。code

技巧二:以绝对路径的方法去执行bashshell脚本:承继

复制代码代码以下:进程

/data/shell/hello.sh

方式三:直接使用bash或sh来执行bashshell脚本:ip

复制代码代码以下:资源

cd /data/shell
bash hello.sh

或class

复制代码代码以下:登陆

cd /data/shell
sh hello.sh

注意,假若以方式三的方法来执行,这么,才能没必要事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方式三是将hello.sh做为参数传给sh(bash)命令来执行的。这时不是hello.sh本身来执行,而是被人家调用执行,因而不要执行权限。这么不用指定bash路径天然也好理解了啊,呵呵……。

方式四:在当前的shell环境中执行bashshell脚本:

复制代码代码以下:

cd /data/shell
. hello.sh

或

复制代码代码以下:

cd /data/shell
source hello.sh

前三种方式执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境linux 执行shell脚本,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随后关掉,而后又回到父shell中。而方式四则是在当前shell中执行的。

方式五:在shell中启动另外的shell

在运行shell脚本时侯,有三种方法来调用外部的脚本,exec(execscript.sh)、source(sourcescript.sh)、fork(./script.sh)

一、exec(exec/home/script.sh):

使用exec来调用脚本,被执行的脚本会承继当前shell的环境变量。但事实上exec形成了新的进程,他会把主shell的进程资源占用并替换脚本内容,承继了原主shell的PID号linux 执行shell脚本,即原主shell剩下的内容不会执行。

二、source(source/home/script.sh)

使用source或则“.”来调用外部脚本,不会形成新的进程,承继当前shell环境变量,但是被调用的脚本运行结束后,它拥有的环境变量和申明变量会被当前shell保留,相像将调用脚本的内容复制过来直接执行。执行完毕后原主shell继续运行。

三、fork(/home/script.sh)

直接运行脚本,会以当前shell为父进程,形成新的进程,并且承继主脚本的环境变量和申明变量。执行完毕后,主脚本不会保留其环境变量和申明变量。

总结:这样来看fork最灵活,source次之,exec最骇人。

查看哪一个用户用的哪些shell登录:

1.echo$SHELL#查看当前登入的用户所用的shell2.grepusername/etc/passwd看之後一段#查看想要晓得的用户登录所用的shell

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux系统 linux脚本 shell 环境变量 脚本
最后更新:2023年5月5日

Linux系统网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
阿里云CentOS6与CentOS8操作系统安装图形化界面 Linux有如下的关机和重启命令:shutdown Linux系统环境变量配置有四个文件分别是: (知识点)Linux重启命令:halt立刻关机 基于命令的网络设备的ifconfig命令和修改文件配置分析 大佬教程:环境变量配置文件中的操作环境生效的 基于RedHatEnterpriseEnterpriseLinux7.x的开源操作系统 Linux路由表设置1.1route命令的基本用法 -7-x86-64-Everything-1908.iso标准安装版(推荐) 中国linux操作系统有哪些思普系统?系系统 Linux系统下使用最广泛的C/C++编译器 Linu下如何升级当前sudo版本至sudo-1.8.31 (教程)如何在Linux下运行C语言程序 SteamDeck将于2021年12月发货的掌上电脑 Linux中,运行一个C语言程序如何运行? 编译Linux内核,为何不自己动手? Linux系统下运行C语言程序 将Linux代码移植至Windows:简单实用的教程 Linux内核开发的关键要点 最小化安装与图形化界面的配置步骤及配置
Linux启动流程启动的几种常见问题及解决办法Linux下使用vim编辑C程序的基本步骤和方法企业版linux系统预置策略,创建一个新的策略组Linux内核官方网站下载最新内核2.6.22版本Linux终端中遇到中文乱码问题的解决方法及解决办法我个人的Python编程经历,这些也许会对你未来的工作有所帮助Linux下的其它服务都可以用以上执行开启和关闭操作调查数据显示Python成为世界上最热门的编程语言了linux系统里添加了一块网卡后,怎么办?如何成为正义黑客(EthicalHacker),你应该学习如何用c编程(知识点)shell脚本脚本方案玩蛇网Python之家图文教程和视频教程中的Python扫描器如何安装和配置Chrony,更快的同步系统时钟?说明书一种智能家居多级控制系统技术领域(0001)编程语言不是黑客,是因为你不懂这些!米尔游网:CanonicalCore和Matter将推出智能家居通用标准Matter从硬盘安装Linux操作系统方法,关键要学会两点!1Linux的发展和特点、C语言的基础知识Linux系统输入账号密码之后怎么进入纯命令行界面?如何使用硬盘安装linux系统?系统安装的过程吧
(Linux基础知识)shell+history方式设置远程执行命令 在Linux下访问Windows共享目录的配置方法和配置介绍 linux网络操作系统版本 Ubuntu、Linux、Unix的区别和联系,你了解多少? 几个获取Linux系统版本信息的命令,你都知道吗? Linux初学(CnetOSLinux7)之切换命令模式和图形模式 通用字符集的前世今生,你知道吗?元集 红帽LinuxRedHatEnterprise/Linux系统内核与发行套件 Windows与光驱linuxLinux的安装方式有哪些? 你们好u盘安装linux系统linux虚拟机 (13页珍藏版)Linux内核和Linux系统启动流程 Linux下的qt打包工具打包程序 在阿里云上安装桌面环境,轻松享受高效办公! 申请百度网盘首先你需要拥有自己的百度 基于Linux内核的基本思想Linux的特性和特性 (干货)关于crond的一些事儿,你知道吗? 第一种情况:你的php中没有引入其他PHP文件没有 Linux中的Chmod命令管理文件和目录的所有权教程 Linux内核源代码的目录结构 Linux系统中切换中文的常用方法及回答步骤详解! linux查看所有文件命令是“ls”,ls命令教程
标签聚合
脚本 linux系统 应用 命令 内核 操作 文件目录 linux服务器 目录 文件
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 88篇
  • 2023年8月 / 92篇
  • 2023年7月 / 96篇
  • 2023年6月 / 91篇
  • 2023年5月 / 93篇
  • 2023年4月 / 91篇
  • 2023年3月 / 69篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源 | Linux系统

COPYRIGHT © 2023 LinuxZone.net ALL RIGHTS RESERVED.