【编程基础】Linux脚本新手入门篇

shell脚本在我们日常开发中比不可少,开源代码编译移植更是经常使用,用它来记录和管理我们编译。或许有人觉得开源代码,都为我们实现了,如configure MakeFile等。我们还有必要去自己在写吗?

答案是肯定的,我们用少量的脚本来完成重复的工作,提高效率。比如

configure有一堆参数需要我们设置,且有x86版本和arm版本编译它们的配置参数各不相同,一般情况下我会新建两个脚本来解决,建立一个build-x86.sh 和build-arm.sh 来配置编译参数。

我们就写个说说如何写个简单脚本:

用vi 编辑一个hello.sh

#!/bin/bash # This is a very simple example echo Hello World

这样最简单的一个 BASH 程序就编写完了。这里有几个问题需要说明一下:

一,第一行的 #! 是说明 hello 这个文件的类型的,后面的 "/bin/bash" 就表明该文件是一个 BASH 程序,需要由 /bin 目录下的 bash 程序来解释执行。BASH 这个程序一般是存放在 /bin 目录下,如果你的 Linux 系统比较特别,bash 也有可能被存放在 /sbin 、/usr/local/bin 、/usr/bin 、/usr/sbin 或 /usr/local/sbin 这样的目录下。

二,第二行是注释这里写一些有用的信息

三,echo 语句的功能是把 echo 后面的字符串输出到标准输出中去。由于 echo 后跟的是 "Hello World" 这个字符串,因此 "Hello World"这个字串就被显示在控制台终端的屏幕上了。

四,如何执行该程序

一种是显式制定 BASH 去执行:

$ bash hello.sh 或 $ sh hello.sh

或者可以先将 hello.sh 文件改为可以执行的文件,然后直接运行它,此时由于 hello.sh 文件第一行的 "#! /bin/bash" 的作用,系统会自动用/bin/bash 程序去解释执行 hello 文件的。

$ sudo chmod u+x hello.sh $ ./hello.sh

这样一个简单的脚本就出来了,不过这样的脚本没有什么实用性。

其实脚本也是一种语言,可以用他执行任务,开启系统服务监测程序的运行状态。

当你真正了解它后,它远不止上面这些功能用途。脚本是编程的延伸,我们将一步步的深入学习shell脚本。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏24K纯开源

mac下利用Breakpad的dump文件进行调试

一、前情回顾 最近把公司的一个视频处理程序更新了一个版本,准备提交测试的发现了崩溃的情况。这个程序采用Qt和ffmpeg技术栈开发,主要用于对视频进行渲染拼接处...

4969
来自专栏日常学python

30行Python代码实现自动收发邮件

生活或者工作中我们经常容易忘记一些事情,这时候我们需要借助一些事物来提醒我们。读者中应该有很多运维攻城狮和测试攻城狮,服务器有异常时需要提醒我们,自动化测试执行...

1203
来自专栏北京马哥教育

原创投稿 | zabbix的理论知识

? 1.zabbix是什么 zabbix是一款基于web页面的、开源的、企业级的,可以分布式部署的监控软件。 2.zabbix的作用 监控windows和Li...

2836
来自专栏小夜博客

Crontab自动记录服务器负载

3539
来自专栏小文博客

自动批量取消关注微信公众号——按键精灵

1914
来自专栏喵了个咪的博客空间

[喵咪MQ(3)]RabbitMQ集群安装配置

[喵咪MQ(3)]RabbitMQ集群安装配置 ? 在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的...

3506
来自专栏MelonTeam专栏

关于Android进程,你需要知道的

导语 Android系统是怎样杀进程的,native进程是怎么管理的?本文为你解密 一、Android进程管理 Android是基于组件工作的,...

24210
来自专栏雨过天晴

原 基于极路由的视频广告过滤及VIP通道

1.7K3
来自专栏Youngxj

最新Kangle一键安装脚本免费发布PHP5.2-7.0

3986
来自专栏快乐八哥

搭建AngualarJS开发环境

1.选择Web浏览器 Chrome和Firefox浏览器 2.选择代码编辑器 Subline Text和Visual Studio Code 3.安装Web...

1856

扫码关注云+社区