一、使用背景

鉴于业务需求,需要编写一个脚本文件,用于不间断的获取一些信息。这里用shell脚本是最方面的,循环执行我们的请求方法即可。

二、shell脚本编写过程

(1)创建 test.sh文件

//使用touch命令创建文件
touch test.sh

(2)编写test.sh 文件

vim test.sh
//此时开始编写
i  //进入编写模式//下面是.sh文件内容
#!/bin/bash
a="hello world"
echo $a

(3)保存之后执行test.sh

//在当前目录执行.sh文件
./test.sh

(4)报错:./test.sh Permission denied

这里报错的原因是因为我们没有执行.sh文件的权限,此时操作:

//chmod +x 文件名
chmod +x test.sh
//赋值之后重新执行
./test.sh
//这里会发现,输出了hello world

(5)大致语法讲解:
1 开头
程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
      当编写脚本完成时,如果要执行该脚本,还必须使其可执行。
      要使编写脚本可执行:
      编译 chmod +x filename 这样才能用./filename 来运行

2 注释

在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
      如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。

3 变量

在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。

我这里只是最初步的编写shell脚本,具体的参考:
http://blog.sina.com.cn/s/blog_54f82cc201010hfz.html

二、按照我的业务需求,不间断请求某文件,执行该文件的内容

1、代码部分


#!/bin/sh
while true
docurl 执行某个接口的具体地址,例如:http://test.test.com
done

解释:
(1)固定开头部分
(2)while true 代表是恒成立的条件,属于条件判断句,这个恒成立,所以能让我们一直执行我们想执行的文件。这算是最简单的死循环
(3)do 代表执行
(4)代表执行结束

2、执行文件
(1)我们这里换一种执行方式

//sh + 你要执行的文件
sh filename

解释:sh 执行.sh文件,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为sh是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。
(2)其他执行方式
绝对路径执行法

//执行从绝对路径处执行
/home/pzsh/test.sh

OK,写一个死循环的shell脚本,然后执行。这样就能达到不间断执行某文件的目的。这里我的需求也解决了,顺便还学习了一下shell脚本。以后需要shell脚本的地方会更多,慢慢学习吧。

end

linux 下编写.sh文件,不间断执行某文件相关推荐

  1. linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?

    炎炎设计 C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路 ...

  2. Linux下编写sh批处理文件

    参考:http://blog.csdn.net/chongxin1/article/details/76072567 1.创建: touch test.sh如果a.sh不存在就可创建一个空的.sh文件 ...

  3. 在Linux下编写Daemon

    在Linux下编写Daemon 转自:http://blog.163.com/prevBlogPerma.do?host=manyhappy163&srl=164476831201071811 ...

  4. 在Linux下编写Daemon(Linux启动流程2)

    在Linux(以Redhat Linux Enterprise Edition 5.3为例)下,有时需要编写Service.Service也是程序,一般随系统启动用户不干预就不退出的程序,可以称为Se ...

  5. spdlog linux编译出错,Linux下编写Makefile引入第三方库

    Linux下编写Makefile引入第三方库 前言:一直在使用CmakaList 生成Makefile文件,其实很少去写Makefile,但是最近帮朋友处理了一个Makefile引入第三方库的问题,就 ...

  6. Linux下编写贪吃蛇游戏

    Linux下编写贪吃蛇游戏 文章目录 Linux下编写贪吃蛇游戏 前言 一.贪吃蛇代码 二.运行贪吃蛇代码 前言 本程序需要ncurses库,ubuntu下安装ncurses可以执行下面命令: sud ...

  7. linux应用程序的编写实验原理,操作系统实验 1.在linux下编写一个应用程序 联合开发网 - pudn.com...

    操作系统实验 所属分类:Linux/Unix编程 开发工具:C/C++ 文件大小:1KB 下载次数:3 上传日期:2019-05-01 20:34:21 上 传 者:烟雨南风起 说明:  1.在lin ...

  8. 在linux下编写动态链接库的步骤: g++ -lc

    引用自http://blog.csdn.net/lwhsyit/article/details/2828306 类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用.W ...

  9. 专业的LaTeX: 在Linux下编写高质量的文档

    专业的LaTeX: 在Linux下编写高质量的文档 Linux下的OpenOffice.KWord等字处理软件虽然在功能上与Microsoft Word类似,但目前在易用性和可用性方面仍然存在许多不足 ...

最新文章

  1. FPGA 内部双口块RAM 读写实现
  2. 安装Oracle 10g sys,system 密码忘记设置解决办法
  3. JavaScript创建Map对象(转)
  4. 将JPG文件作为EXE执行
  5. 让你受用一辈子的181句话
  6. 【Python CheckiO 题解】First Word (simplified)
  7. 组态王调用mysql存储过程_组态王与数据库通讯
  8. codeforces#237_div2_B Marathon
  9. 一个意想不到的CDO.Message 错误
  10. bfs和dfs:poj2386和leetcode130
  11. 求一个任意实数的算术平方根的算法设计_感恩!面试必刷100道算法题
  12. 《下学梯航》(全文)
  13. C语言利用switch的简单计算器
  14. 两金压降两金指什么_什么是两金压降
  15. 电脑pin码忘了登录不进系统_做好这些优化,电脑5秒开机不是梦
  16. docker安装后,并没有ln到/etc/systemd/system/multi-user.target.wants
  17. seo文章伪原创技巧(你不知道的伪原创文章处理技巧)
  18. 程序设计学习(c++)(课堂学习2)
  19. Python 800 道习题 (°ー°〃) 测试你学废了嘛
  20. 文件处理与垃圾回收机制

热门文章

  1. paddle_ocr1.0入门踩坑
  2. mxnet.gluon 加载预训练
  3. input val >=zero input_val <=one
  4. c++ argmax
  5. twisted Unhandled error in Deferred scrapy
  6. 论numpy中matrix 和 array的区别
  7. spring中ClassPathXmlApplication和FileSystemXmlApplicationContext使用区别
  8. ORA-01658: 无法为表空间space中的段创建 INITIAL
  9. 青龙羊毛——杀猪盘(搬砖,非原创)
  10. java 窗口锁定_使用Java锁定屏幕