学习目标
编写Shell程序
执行Shell程序

正文
Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell程序是指放在一个文件中的一系列Linux命令和实用程序。在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell程序,从中学习Shell程序的编写、修改权限、执行过程。

i、编辑Shell程序
编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/home/study(练习专用目录,不存在自己新建一个)下。
root@ubuntu:/home/study# vi dd
#! /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为输入格式控制符。

ii、建立可执行程序
编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。
root@ubuntu:/home/study# chmod +x dd

iii、执行Shell程序
执行Shell程序有下面三种方法:
方法一:
root@ubuntu:/home/study# ./dd

方法二:
另一种执行date的方法就是把它作为一个参数传递给Shell命令:
root@ubuntu:/home/study# bash dd

方法三:
为了在任何目录都可以编译和执行Shell所编写的程序,即把/home/study的这个目录添加到整个环境变量中。
root@ubuntu:/home/studyexport PATH=/home/study:$PATH
root@ubuntu:/home/study# dd

实例:编写一个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@ubuntu:/home/study# vi mkf
mkf文件添加如下内容:
cd /root
ls -l
mkdir kk
cd kk
vi aa
chmod +x aa
cd /root
root@ubuntu:/home/study# chmod +x mkf
root@ubuntu:/home/study# export PATH=/home/study:$PATH
root@ubuntu:/home/study# mkf

2、编写/修改权限及执行Shell程序的步骤的更多相关文章

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

    编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时 ...

  2. shell脚本,编写1个弹出式菜单的shell程序并实现其简单的菜单功能。

    [root@localhost wyb]# cat zonghe.sh #!/bin/bash #zonghe usage(){ case $choice in ) read -p "ple ...

  3. Linux shell编程02 shell程序的执行 及文件权限

    第一个shell脚本 1.       shell编程的方式 交互式shell编程 非交互式shell编程:执行的语句存放到一个文件 shell脚本:可以任意文件名,建议扩展名为sh 2.       ...

  4. Linux系统学习笔记之 1 一个简单的shell程序

    不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...

  5. linux下shell程序(一)

    shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步:创建一个包含命令和控制结构的文件. 第二步:修改这个文件的权限使它可以执行.使用c ...

  6. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

  7. Linux 下用 crontab 设置定时执行python 程序

    Linux 下用 crontab 设置定时执行python 程序 方法/步骤   1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...

  8. 一劳永逸Java环境配置,以及编写我的第一个Java程序

    Java环境配置,以及编写我的第一个Java程序 配置步骤 1.下载jdk 2.安装步骤 3.配置环境 4.我的第一个Java程序 配置步骤 网上的教程有很多,方法也都不尽相同.今天我就分享一下我的配 ...

  9. Linux下C程序插入执行shell脚本

    1.system(执行shell命令) 相关函数 fork,execve,waitpid,popen表头文件 #include<stdlib.h>定义函数 int system(const ...

随机推荐

  1. http-bio-8080"-exec-6

    现象如下:   Tomcat7启动后,后台抛出如下异常,前台一直无法登陆   Exception in thread ""http-bio-8080"-exec-6&qu ...

  2. MIDA Converter Basic patched for RAD Studio 10.1.2 Berlin (VCL转换到FMX)

    Mida is the only way to try to convert your project from VCL to FireMonkey. Version after version, M ...

  3. thinkphp里数据嵌套循环

    做thinkphp时要用到循环里面嵌套循环的,并第二个循环是和外面的有关联的. thinkphp官网给出的文档为: <volist name="list" id=" ...

  4. 使用PHPstudy在Windows服务器下部署PHP系统

    PHP网站一般运行在Apache服务器上,IIS服务器上也可以运行,但是不推荐,windows服务器上没有集成Apache跟PHP的运行环境,但是借助第三方的软件就能很好的搞定,一般这样的软件有很多, ...

  5. MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  6. value_counts()

    Serise类型: Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True) 功 ...

  7. ubuntu15.04下安装jdk8

    前几天手贱,删掉了ubuntu自带的java,最后安装时遇到了Picked up JAVA_TOOL_OPTIONS的问题,经过网上各种找,终于被我弄成功了.下面将经验下载下面供大家方便: jdk8的 ...

  8. windows下webpack不是内部命令 解决方法

    安装webpack 到打包文件一路出现的各种问题 windows下webpack不是内部命令 安装完webpack后要加下环境变量 系统变量新建 NODE_PATH 变量值E:\demo\webpac ...

  9. python的builtins模块

    builtins模块详解 1.简介 builtins是python的内建模块,所谓内建模块就是你在使用时不需要import,在python启 动后,在没有执行程序员编写的任何代码前,python会加载 ...

  10. 阿里云Centos下安装nginx之后外网无法访问

    centos 7.4 nginx1-14.0编译安装 curl 127.0.0.1 可以请求到 index.html curl local 可以请求到 index.html http://ip/ 无法 ...