在了解了linux终端和其搭配的基本Shell(默认为bash)的基础下,我们就可以在终端中用vi/vim编辑器编写一个shell的脚本程序了

Shell既为一种命令解释解释工具,又是一种脚本编程语言,用各种shell下的命令和一些特定的语法结构就可以组成一个Shell脚本程序,shell脚本程序是一个纯文本文件,但在执行之前不需要任何操作。我们可以通过写一些脚本来让我们更方便的对文件进行操作,以及做一些shell的测试。

1:打开终端,进入保存程序的目录,命令行输入 vi test.sh(Shell脚本程序的后缀为.sh)

2:在Shell编程中,#后的字符可以作为注释,所以必要的我们需要在程序中写上一些注释,这确实可以让你的程序上升一个档次,还须注意的是需要在程序第一行申明#!/bin/bash(csh,zsh..), 使用#!用来表明我们的程序是用bash(这里用的)来执行

3:这里编写了一个简易的脚本程序如下:

4:编写后可直接运行,./表示当前目录,输入./test.sh执行,会发现没有权限(permission denied),然后我们给自己授个权,就可以运行了,但是因为此脚本为一个纯文本文件,在执行之前相对于其他程序的执行少了编译这一步,所以会显得有一点迟钝。

一个个小的Shell脚本程序就成功了。

关于脚本程序的内容,大家可以多多了解Shell下的一些命令,以及Shell语言的一些语法风格,上述的程序中只用到了一些简单的命令。

如何在linux下编写一个简单的Shell脚本程序的更多相关文章

  1. 如何在Linux下拷贝一个目录呢

    cp -af newadmin/movie/.   uploadfile/mallvideo/ 如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了. 比如要把/home/usera拷贝到/m ...

  2. 如何在linux下制作一个windows的可启动u盘?

    如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...

  3. 一个简单的shell脚本

    一个简单的shell脚本 一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[KANO@kelvin ~]$ who2.KANO tt ...

  4. 在ubuntu linux 中编写一个自己的python脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pmpy为例(play music python),为了区别之前说的bash脚本添加了py后缀),来 ...

  5. 在ubuntu linux 中编写一个自己的bash脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pm为例(play music)),来实现音乐的播放.注:本人ununut中安装了audacious ...

  6. 手动编写一个简单的loadrunner脚本

    loadrunner除了自动录制脚本外,还可以手动编写脚本,通过右键+inset step添加步骤,还可以手动添加事务,集合点等 下面是一个简单的Action脚本,服务是运行在本机的flask服务: ...

  7. 在Linux下写一个简单的驱动程序

    本文首先描述了一个可以实际测试运行的驱动实例,然后由此去讨论Linux下驱动模板的要素,以及Linux上应用程序到驱动的执行过程.相信这样由浅入深.由具体实例到抽象理论的描述更容易初学者入手Linux ...

  8. Ubuntu + Apache2 环境下用C编写 一个简单的cgi脚本

    我只学习过c语言,没有学习过prel,网上很多教程都是针对prel的,很少有针对c的.自己在Ubuntu下鼓捣了一下午,也总算是用c成功编写了一个helloworld的cgi,算是cgi入门的第一步. ...

  9. 【转】在Linux下写一个简单的驱动程序

    转自:https://www.cnblogs.com/amanlikethis/p/4914510.html 本文首先描述了一个可以实际测试运行的驱动实例,然后由此去讨论Linux下驱动模板的要素,以 ...

随机推荐

  1. C++中的Inline函数的使用

    转载自:https://www.cnblogs.com/KellyHuang/p/4001470.html 在大多数机器上,函数调用does a lot of work:在调用函数前保存寄存器,调用结 ...

  2. 阿里云 centos7 64位搭建JAVA环境-----安装JDK(2)

    mysql安装好以后,把jdk环境配置一下. 首先下载jdk 8,在官网下载. 找到链接 http://download.oracle.com/otn-pub/java/jdk/8u171-b11/5 ...

  3. NOIP2008复赛 提高组 第一题

    描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的 ...

  4. Java 中的 syncronized 你真的用对了吗

    生活中随处可见并行的例子,并行 顾名思义就是一起进行的意思,同样的程序在某些时候也需要并行来提高效率,在上一篇文章中我们了解了 Java 语言对缓存导致的可见性问题.编译优化导致的顺序性问题的解决方法 ...

  5. Flink1.9整合Kafka

    本文基于Flink1.9版本简述如何连接Kafka. 流式连接器 我们知道可以自己来开发Source 和 Sink ,但是一些比较基本的 Source 和 Sink 已经内置在 Flink 里. 预定 ...

  6. 自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页

    使用CoordinatorLayout打造各种炫酷的效果 自定义Behavior -- 仿知乎,FloatActionButton隐藏与展示 NestedScrolling 机制深入解析 一步步带你读 ...

  7. charles 自动存储/auto_save

    本文参考:charles 自动存储 自动保存工具 auto_save "自动保存"工具会在你设定的间隔后,自动保存并清除抓取到的内容.假设你设置了3分钟,则每隔三分钟会保存一次, ...

  8. TestNG(四) 基本注解BeforeSuite和AfterSuite

    package com.course.testng; import org.testng.annotations.*; public class BasicAnnotation { @Test //最 ...

  9. C# HTTP网络常用方法封装

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Regi ...

  10. [Leetcode] 第309题 最佳买卖股票时机含冷冻期

    一.题目描述 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 .​ 设计一个算法计算出最大利润.在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与 ...