LinuxZone

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

Shell脚本的执行方式的特点及特点分析脚本介绍

2023年5月4日 152点热度

Shell脚本的执行方法一般有如下三种:

(1)bashscript-name或则shscript-name;(2)path/script-name或则./script-name;(3)sourcescript-name或则.script-name。下边,分别介绍下这三种形式的特征:

(1)bashscript-name或则shscript-name

这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)经常使用的技巧,或则脚本文件开头没有指定类库时须要使用的技巧。推荐使用这些技巧。

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

指在当前路径下执行脚本(脚本须要有执行权限),须要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方式为:chmoda+xscript-name。之后通过执行脚本绝对路径或则相对路径就可以执行脚本了。

注意:在生产环境中linux 执行shell脚本,运维人员因为忘掉为该脚本设置可执行权限,之后直接使用,造成出错。为此,推荐第一种bashscript-name。

linux执行shell脚本_shell定时执行脚本_linux 执行shell脚本

(3)sourcescript-name或则.script-name

source或则“.”命令的功能是:读入脚本并执行脚本,即在当前Shell中执行source或“.”加载并执行的相关脚本文件的命令及句子,而不是形成一个子Shell来执行文件中的命令。

注意:这是和其他几种执行shell方法的最大不同。

举个板栗:

新建一个文件test_sh.shlinux系统日志,不给它赋于任何可执行的权限x。

编辑内容如下:

文件以及文件中内容与常见的shell不同之处在于linux系统界面,这儿的文件没有赋于可执行权限以及在文件内容中的首行中没有添加#!/bin/bash。我们如今用上述介绍的几种方法来测试下疗效。

第二种方法./script-name,执行疗效如下:

报权限拒绝,Permissiondenied,此时,我们只要修改文件的属性为可执行即可。

执行第一种bashscript-name,疗效如下:

可以成功执行,输出:hello。并且,我们输入命令:echo$name,发觉如下:

name的值是空的。不难理解,bashscript-name是形成了一个子进程shell,而我们当前的操作还在父shell中因而得不到该变量值。

执行第三种方式.test_sh.sh,疗效如下:

可以成功的输出变量的值。这是由于sourcescript-name和.script-name是将script-name中的内容直接加载到当前的shell,因而才能输出当前变量的值。

刚刚第二种形式我们执行失败,如今我们通过chmoda+xscript-name,之后再度执行上述命令,查看疗效:

注意:该种方法也是形成了一个子进程Shell,因而echo$name一直找不到该变量。

补充知识点:

一个规范的Shell脚本在第一行会强调由那个程序(原语)来执行脚本中的内容,这一行内容在Linuxbash的编程通常为:

#!/bin/bash

或

#!/bin/sh

注意:

(1)在Shell中若果一行的第一个字母是#,则是注释,并且里面两个是写在第一行,所以不是脚本注释行,假如写在某个命令以后linux 执行shell脚本,则弄成注释行。

(2)sh为bash的软链接,大多数情况下,脚本的开头使用“#!/bin/bash”和“#!/bin/sh”是没有区别的,但更规范的写法是在脚本的开头使用“#!/bin/bash”。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: bash linux脚本 shell shell编程
最后更新:2023年5月4日

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系统的安装方法介绍! 「职位」上海自主智能无人系统科学中心工程师招聘 Linux系统计划任务程序的常见功能和方法 备份Linux系统使用的6种方法来备份硬盘系统! 第一种情况:你的php中没有引入其他PHP文件没有 微软首次发布2万行Linux驱动程序代码 linux修改hosts文件 (学习笔记)Windows95/98、98/7/8 现代调试技术可以分为软件仿真调试和硬件仿真易于 linux磁盘相关命令 电脑剩余空间:还剩多少? 内容摘要您想在Linux系统下远程访问Windows系统吗? linux安装教程中标麒麟桌面操作系统安装中标教程? Linux虚拟机中设置中文的过程及步骤 Linux与Linux之间的资源共享服务的区别?简介 嵌式Linux内核的移植及根文件系统的使用方法 如何查看Linux中的进程信息-小节对文件和目录的创建 内置命令source命令及其执行方式-HelloLinux迷#iOS 如何根据硬件信息来解决问题?——Linux中的常用工具 最简单的安装及使用方法是什么?如何安装双系统 Linux系统下运行C语言程序 Linux中的定时任务可以使用crontab命令来实现
标签聚合
内核 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.