简单的Linux脚本程序
2013-11-04 16:03
232 查看
脚本的概念:
Bash程序不仅可以作为用户管理Linux系统的命令操作环境,同时也可以作为一种优秀的脚本程序语言。凡是使用Shell编程的语言编写的程序都可以称为Shell脚本,通俗一点说,只要将一些Linux命令按顺序保存到一个文本文件中,并给予这个文件可执行权限,那么这个文件就可以称为Shell脚本。当然,Shell脚本是为了完成一定的管理任务才创建的,因此脚本文件中的各条命令并不是杂乱无章随便放置的,这就需要用户来进行组织和设计了。
编写Shell脚本文件 (建立包含可执行语句的文件文件)
使用文本编辑器程序(如:vi)创建脚本文件,文件名中可以使用扩展名(如:“.sh”),也可以不使用扩展名,并没有强制的要求。脚本中可能包括的内容如下:
运行环境设置:通常位于文件的第一行,用户指定使用那一个Shell程序进行解释。设置时以“#!”开始,后面紧跟上指定的Shell程序的完成路径,如“#!/bin/bash”。
注释行:在脚本文件中,除了以“#!”开头的Shell环境设置行以外,其他以“#”符号开头的内容将被视为注释信息,执行脚本时将予以忽略。编写脚本程序时,添加必要的注释语句是一个良好的习惯,这样将大大增强脚本文件的易读性,方便在不同时间,不同用户间交流使用。
可执行语句:可执行语句是Shell脚本程序中最重要的组成部分,在命令行操作界面中可以执行的命令都可以写入到脚本当中,程序运行时默认情况下将会按照顺序依次解释执行。除此以外,还可以添加一些程序结构语句,用户灵活控制执行过程,提高程序执行效率。
eg:使用vi编辑器编写一个简单的Shell脚本文件test.sh,用于报告当前系统中“/boot”目录所占用的空间大小,并列出其中的内核文件的属性信息。
输出:
执行Shell脚本有多种方式:
>:直接执行带"x"权限的脚本文件
为脚本文件设置了可执行属性后,在Shell命令行中可以直接通过脚本文件的路径执行脚本程序,这也是最常用的一种方式,执行时需要在文件名之前加入“./”路径,明确执行需要执行当前目录下的脚本文件,这种方法也是出于对系统安全性的考虑。
>:使用Shell解释器程序执行脚本
这种方式可以将脚本文件作为指定Shell解释器程序(如:bash、sh等)的参数,由解释器程序负责读取脚本文件中的内容并执行,因此并不需要脚本文件具有可执行属性。此方法通常只在脚本的调试阶段使用。
>:使用“.”命令执行脚本
使用Shell解释器程序(如:bash)执行指定脚本文件时,是在当前Shell中启动一个子Shell来运行脚本程序,因此脚本程序中定义的环境变量只能在子Shell环境中使用,而无法在用户当前的Shell环境中使用。
使用Bash的内部命令“.”(或使用source命令,其作用相同)加载指定的脚本文件并执行时,系统将不会开启新的Shell环境。使用这种方式时,脚本文件作为“.”命令的参数,因此同样不要求脚本文件具备“x”权限。例如,在修改完“/etc/profile”文件以后,可以执行“. /etc/profile”命令,使得在文件中新设置的变量立即生效,而无需重新登录。
Bash程序不仅可以作为用户管理Linux系统的命令操作环境,同时也可以作为一种优秀的脚本程序语言。凡是使用Shell编程的语言编写的程序都可以称为Shell脚本,通俗一点说,只要将一些Linux命令按顺序保存到一个文本文件中,并给予这个文件可执行权限,那么这个文件就可以称为Shell脚本。当然,Shell脚本是为了完成一定的管理任务才创建的,因此脚本文件中的各条命令并不是杂乱无章随便放置的,这就需要用户来进行组织和设计了。
编写Shell脚本文件 (建立包含可执行语句的文件文件)
使用文本编辑器程序(如:vi)创建脚本文件,文件名中可以使用扩展名(如:“.sh”),也可以不使用扩展名,并没有强制的要求。脚本中可能包括的内容如下:
运行环境设置:通常位于文件的第一行,用户指定使用那一个Shell程序进行解释。设置时以“#!”开始,后面紧跟上指定的Shell程序的完成路径,如“#!/bin/bash”。
注释行:在脚本文件中,除了以“#!”开头的Shell环境设置行以外,其他以“#”符号开头的内容将被视为注释信息,执行脚本时将予以忽略。编写脚本程序时,添加必要的注释语句是一个良好的习惯,这样将大大增强脚本文件的易读性,方便在不同时间,不同用户间交流使用。
可执行语句:可执行语句是Shell脚本程序中最重要的组成部分,在命令行操作界面中可以执行的命令都可以写入到脚本当中,程序运行时默认情况下将会按照顺序依次解释执行。除此以外,还可以添加一些程序结构语句,用户灵活控制执行过程,提高程序执行效率。
eg:使用vi编辑器编写一个简单的Shell脚本文件test.sh,用于报告当前系统中“/boot”目录所占用的空间大小,并列出其中的内核文件的属性信息。
#!/bin/bash #To show the size of /boot and the mode of kernel files. echo "size of /boot:" du -sh /boot echo "the mode of kernel files:" ls -lh /boot/vmlinuz-*
输出:
m@virtual-machine:~$ bash test.sh size of /boot: 26M /boot the mode of kernel files: -rw-r--r-- 1 root root 5.0M 2月 14 2013 /boot/vmlinuz-3.5.0-23-generic
执行Shell脚本有多种方式:
>:直接执行带"x"权限的脚本文件
为脚本文件设置了可执行属性后,在Shell命令行中可以直接通过脚本文件的路径执行脚本程序,这也是最常用的一种方式,执行时需要在文件名之前加入“./”路径,明确执行需要执行当前目录下的脚本文件,这种方法也是出于对系统安全性的考虑。
>:使用Shell解释器程序执行脚本
这种方式可以将脚本文件作为指定Shell解释器程序(如:bash、sh等)的参数,由解释器程序负责读取脚本文件中的内容并执行,因此并不需要脚本文件具有可执行属性。此方法通常只在脚本的调试阶段使用。
>:使用“.”命令执行脚本
使用Shell解释器程序(如:bash)执行指定脚本文件时,是在当前Shell中启动一个子Shell来运行脚本程序,因此脚本程序中定义的环境变量只能在子Shell环境中使用,而无法在用户当前的Shell环境中使用。
使用Bash的内部命令“.”(或使用source命令,其作用相同)加载指定的脚本文件并执行时,系统将不会开启新的Shell环境。使用这种方式时,脚本文件作为“.”命令的参数,因此同样不要求脚本文件具备“x”权限。例如,在修改完“/etc/profile”文件以后,可以执行“. /etc/profile”命令,使得在文件中新设置的变量立即生效,而无需重新登录。
相关文章推荐
- Linux-- 简单的程序守护脚本,程序异常退出后自动重启
- Linux 简单脚本程序
- 一个简单的去掉程序行号的linux脚本
- 【Linux基础】简单的C++程序
- linux 开机自启脚本 简单演示
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- 不错的linux下通用的java程序启动脚本(转载)
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(5)-实现三个任务切换
- 用c++创建一个Linux上的Daemon程序,含SHELL管理脚本(一)
- linux下用脚本语言开发自动重启程序
- Linux 程序后台运行的简单方法
- Linux系统下用shell脚本病毒感染其它linux脚本程序
- Linux Qt编程-在程序中启动其他应用、脚本
- linux脚本 运行java程序引入jar
- 在linux下编写简单的c程序
- Linux下java程序启动脚本(可做开机自启动Service脚本)
- 一个简单的Linux下的socket程序(2)
- 关于linux中执行脚本或程序时指定的路径
- linux下删除用户脚本----不是userdel -r 那么简单
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。