学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤

- 编写Shell程序
- 执行Shell程序
Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell程序是指放在一个文件中的一系列Linux命令和实用程序。在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell程序,从中学习Shell程序的编写、修改权限、执行过程。
2.1 编辑Shell程序
编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。
[root@localhost bin]#vi date
#! /bin/sh
echo "Mr.$USER,Today is:"
echo &date "+%B%d%A"
echo "Wish you a lucky day !"
注意:
#! /bin/sh通知采用Bash解释。如果在echo语句中执行Shell命令date,则需要在date命令前加符号"&",其中%B%d%A为输入格式控制符。
2.2 建立可执行程序
编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。
[root@localhost bin]#chmod +x date
2.3 执行Shell程序
执行Shell程序有下面三种方法:
方法一:
[root@localhost bin]#./ date
Mr.root,Today is:
二月 06 星期二
Wish you a lucky day !
方法二:
另一种执行date的方法就是把它作为一个参数传递给Shell命令:
[root@localhost bin]# Bash date
Mr.root,Today is:
二月 06 星期二
Wish you a lucky day !
方法三:
为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。
具体操作如下:
[root@localhost root]#export PATH=/bin:$PATH
[root@localhost bin]# date
Mr.root,Today is:
二月 06 星期二
Wish you a lucky day !
实例 1:编写一个Shell程序mkf,此程序的功能是:显示root下的文件信息,然后建立一个kk的文件夹,在此文件夹下建立一个文件aa,修改此文件的权限为可执行。
分析:此Shell程序中需要依次执行下列命令为:
进入root目录:cd /root
显示root目录下的文件信息:ls –l
新建文件夹kk: mkdir kk
进入root/kk目录:cd kk
新建一个文件aa: vi aa #编辑完成后需手工保存
修改aa文件的权限为可执行:chmod +x aa
回到root目录:cd /root
因此该Shell程序只是以上命令的顺序集合,假定程序名为mkf
[root@localhost root]#vi mkf
cd /root
ls –l
mkdir kk
cd kk
vi aa
chmod +x aa
cd /root
学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤的更多相关文章
- 2、编写/修改权限及执行Shell程序的步骤
学习目标编写Shell程序执行Shell程序 正文Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序. ...
- 学习Shell脚本编程(目录)
所涉及的内容如下: Shell命令行的运行 编写.修改权限和执行Shell程序的步骤 在Shell程序中使用参数和变量 表达式比较.循环结构语句和条件结构语句 在Shell程序中使用函数和调用其他Sh ...
- [Linux] Linux命令行与Shell脚本编程大全 Part.3
Shell Shell 是管理命令行的程序(包在内核外的壳) 不同Shell版本演化关系如下,一般Linux中会自动安装Sh和Bash(Bash比Sh好写,Zsh最好用) .bashrc:Bash 的 ...
- 30分钟快速学习Shell脚本编程
什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch ...
- Shell脚本编程学习入门 02
Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #! ...
- 好记性比如烂笔头--linux学习笔记7关于linux中的shell脚本编程
之前看的各种面试,貌似都有shell脚本编程,没了解之前感觉很复杂,现在了解了些,没想象中那么难. 逻辑主要是这样的 编写.sh的脚本文件,文件里面的代码,就是在命令行输入的可执行命令的加强版,所谓加 ...
- 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/
- 《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记
第二十七章:shell脚本编程进阶 监测系统统计数据 系统快照报告 1.运行时间 uptime命令会提供以下基本信息: 当前时间 系统运行的天数,小时数,分钟数 当前登录到系统的用户数 1分钟,5分钟 ...
- Shell脚本编程学习入门 01
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
随机推荐
- Java眼中的XML--文件读取--1 应用DOM方式解析XML
初次邂逅XML: 需要解析的XML文件: 这里有两个book子节点. 1.如何进行XML文件解析前的准备工作,另外解析先获取book节点. 这个我后来看懂了: 这个Node的ELEMENT_NODE= ...
- 记录Hibernate的缓存知识
一.Hibernate缓存的作用 Hibernate是一个持久层框架,Hibernate要经常访问物理数据库.为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能,Hibernate的缓 ...
- [转载] 数据测试常用的Data Profiling方法
现在对数据质量的要求越来越高,面对一个动辄上亿条数据的报表如何快速对它的数据质量做出分析呢?给大家分享下我们测试时用到的Data Profiling方法. Data Profiling,可以大概翻译“ ...
- 由IP和掩码计算广播地址
public static IPAddress GetBroadcast(IPAddress ipAddress, IPAddress subnetMask) { var ip = ipAddress ...
- WebAPP与原生APP的交互设计区别
WebAPP和原生APP同为移动端,很少有研究这两项的交互区别,最近公司做了一次从原生APP到WebAPP(HTML5 )的移植,故总结一下期间遇到的问题及不同点总结. 从使用场景上,WebAPP用户 ...
- JS高级程序设计2nd部分知识要点4
ECMAScript中所有函数的参数都是按值传递的. 5种基本数据类型: Undfined,Null,Boolean,Number,String. ECMAScript中的所有参数传递的都是值,不可能 ...
- IE6-8中Date不支持toISOString方法
Date.prototype.toISOString方法是在ES5里添加的,ES3文档中没有,如下 这个方法在IE6/7/8中不支持,可按下面方式修复下 if (!Date.prototype.toI ...
- javascript 动态改变onclick事件
第一种:button.onclick = Function("alert('hello');"); 第二种:button.onclick = function(){alert(&q ...
- git 换行符LF与CRLF转换问题
git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...
- jemter的使用(三)
前面的文章已经把接口请求.响应等前序工作做好,那么如何施加压力呢,看下面 1.点击线程组,设置线程属性,其中:线程数即并发用户数,ramp-up period是多长时间初始化上面的并发用户数,循环次数 ...