LinuxShell脚本——认识Shell脚本

摘要:本文主要介绍了Shell脚本的一些基本知识。

什么是Shell脚本

shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,达到所想要的处理目的。

shell脚本就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell脚本更是提供了数组、循环、条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序。

基本结构

#!/bin/bash

这句话的作用是标明我以下写的脚本使用的是BASH语法,只要写的是基于BASH的Shell脚本都应该这样开头。

在Linux中默认的Shell环境就是BASH,所以在Linux里面不加这一句也可以运行。如果把脚本放在默认环境不是BASH的环境中运行,又或者编写脚本的不是纯BASH语言,而是嵌入了其他语言,那么这个脚本就不能正确执行了。所以Shell脚本都必须以“#!/bin/bash”开头。

注释

在Shell脚本中,除“#!/bin/bash”这行外,其他行只要以“#”开头的都是注释。

程序的主体

Linux的命令可以直接在脚本中执行。

执行脚本

赋予执行权限,直接运行

这种方法是最常用的Shell脚本运行方法,也最为直接简单。就是赋予执行权限之后,直接运行。当然,运行时可以使用绝对路径,也可以使用相对路径。

如果将shell.sh放在PATH指定的目录内,这样就可以像Linux系统命令一样,不用指定路径直接运行了。

赋予执行权限:

 [root@localhost sh]# chmod  shell.sh

使用绝对路径执行:

 [root@localhost sh]# /root/sh/shell.sh

使用相对路径执行:

 [root@localhost sh]# ./shell.sh

通过bash命令调用运行脚本

这种方法的意思是直接使用bash或者sh去解释脚本中的内容,所以这个脚本也可以正常运行。使用这种方法运行脚本,甚至不需要脚本文件有“执行”权限,只要拥有“读”权就可以运行了。

因为/bin/sh其实就是/bin/bash的一个链接,使用 sh shell.sh 就是告诉系统想要直接以bash的功能来执行shell.sh。

使用bash命令执行:

 [root@localhost sh]# bash shell.sh
[root@localhost sh]# sh shell.sh

使用source命令执行

source命令或者“.”命令可以读入脚本并执行脚本,即在当前Shell环境中加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。

该命令主要用于让重新配置的环境变量配置文件强制生效。

使用source命令执行:

 [root@localhost sh]# . shell.sh
[root@localhost sh]# source shell.sh

编写一个脚本并执行

编写脚本

使用vim命令创建并修改脚本文件:

 [root@localhost ~]# vim test.sh

在vim编辑器里输入脚本内容并保存:

 #!/bin/bash
echo "Hello World"

执行脚本

使用sh命令执行脚本:

 [root@localhost ~]# sh test.sh
Hello Word
[root@localhost ~]#

LinuxShell脚本——认识Shell脚本的更多相关文章

  1. Centos 环境一键部署脚本(shell脚本)

    谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉 辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的 ...

  2. 【shell脚本】shell脚本实现的 函数差集查找

    文本地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 问题背景 2. 代码实现 1.问题背景 在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函 ...

  3. Shell脚本、Shell脚本结构、date命令的用法、变量

    1.Shell脚本: shell是一种脚本语言 目的:可以实现自动化运维,能大大增加运维的效率.2.Shell脚本结构:   #!/bin/bash  以#!/bin/bash开头,即以/bin/ba ...

  4. gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。

    情况如下: 我在ubuntu server 14.04 上面安装了gitlab,来托管项目代码.然后想通过gitlab的web hook 功能来做测试服务器代码自动化更新代码功能.现在遇到一个问题:就 ...

  5. [Android]Recovery调用外部Shell脚本,Shell脚本使用ui_print方法

    busybox_bin=/sbin/busybox # 获取PIPE get_outfd(){ | $busybox_bin grep -q 'pipe'; then else local all_p ...

  6. Shell脚本之一 Shell脚本简介

    一.什么是shell? 我们平时所说的 Shell 可以理解为 Linux 系统提供给用户的使用界面.Shell 为用户提供了输入命令和参数并可得到命令执行结果的环境.当一个用户登录 Linux 之后 ...

  7. 分享7个shell脚本实例--shell脚本练习必备

    概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 ...

  8. shell脚本(2)-shell脚本语法

    一.如何抒写shell脚本 1.shell脚本的命名 名字要有意义,不要以a.b.c.1.2.3这种方式命令,建议以sh结尾,在30个字节内,例如:check_memory.sh  2.shell脚本 ...

  9. shell脚本介绍
 shell脚本结构和执行
date命令用法
 shell脚本中的变量

随机推荐

  1. IT兄弟连 HTML5教程 多媒体应用 HTML图像地图

    图像地图是带有可点击区域的图像,通常情况下,每个区域是一个相关的超级链接.点击某个区域,就会到达相关的链接,也可以通过图像地图实现图片切换效果. 1  什么是图像地图 把一幅图像分成为多个区域,每个区 ...

  2. FormData使用方法详解,以及在IE9环境下,前端的文件上传问题

    FormData的主要用途有两个: 1.将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率. 2.异步上传文件 一.创建formData对象 ...

  3. tensorflow中卷积、转置卷积具体实现方式

    卷积和转置卷积,都涉及到padding, 那么添加padding 的具体方式,就会影响到计算结果,所以搞清除tensorflow中卷积和转置卷积的具体实现有助于模型的灵活部署应用. 一.卷积 举例说明 ...

  4. 腾讯短信+SpringBoot+Redis实现注册逻辑

    使用redis做缓存实现用户的注册功能: 异步请求发送短信,给 发送短信的按钮 绑定异步事件 调用发送短信逻辑发送短信 缓存 key1:验证码 缓存 key2:短信发送时刻的时间 用户提交表单 包含用 ...

  5. 使用Navicat Premium 比较PostgreSql数据库 dev环境与test环境差异

    Navicat Premium 功能很强大,支持不同数据库客户端的连接,并且使用工具可以生成两个库差异的sql脚本,方便dev与test环境表结构同步,具体操作方法如下 单击运行,实现两个库中模式表结 ...

  6. 松软科技web课堂:SQLServer之LEN() 函数

    LEN() 函数 LEN 函数返回文本字段中值的长度. SQL LEN() 语法 SELECT LEN(column_name) FROM table_name SQL LEN() 实例 我们拥有下面 ...

  7. JS关于日期格式转换的问题

    写Js时,有个地方用到日期,要求是yyyy--MM--dd的格式,于是想到了format函数,下面介绍了时间函数的定义,和调用前引入函数和如何格式化自己想要的日期格式. //当前时间 var Time ...

  8. 记录Ubuntu下使用docker使用

    关键词:docker.Dockerfile等等. 这里主要记录Ubuntu下docker使用细节. 首先是如何安装,然后如何创建docker镜像.搭建docker服务器.运行使用docker. 1. ...

  9. leetcode回溯算法--基础难度

    都是直接dfs,算是巩固一下 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 思路 一直 ...

  10. Ubuntu笔记本安装高级电源管理工具TLP

    Ubuntu系统下的笔记本电脑电量总是下降的很快,尽管目前系统对电源管理的优化已经进步了不少,但还是需要一些工具来辅助. TLP是一款Linux下的高级电源管理工具,相信很多Linux用户会用到它. ...