01Shell编程基础[C教程网cppcourse]_第1页
01Shell编程基础[C教程网cppcourse]_第2页
01Shell编程基础[C教程网cppcourse]_第3页
01Shell编程基础[C教程网cppcourse]_第4页
01Shell编程基础[C教程网cppcourse]_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、shell编程基础编程基础第一章第一章1本章目标本章目标q什么是shell程序q本地变量q环境变量q位置参量q数组2shell的解释执行功能的解释执行功能shell单条命令单条命令shellshell脚本脚本kernel系统调用系统调用3什么是什么是shell程序?程序?q以文件形式存放批量的linux命令集合,该文件能够被shell解释执行,这种文件就是shell脚本程序q通常由一段linux命令、shell命令、控制语句以及注释语句构成qshell 脚本的编写qshell 脚本脚本是纯文本文件,可以使用任何文本编辑器编是纯文本文件,可以使用任何文本编辑器编写写qshell 脚本脚本通常是以

2、通常是以 .sh 作为后缀名作为后缀名4shell程序编程主要内容程序编程主要内容q变量q本地变量、环境变量、位置参量q输入输出qread/echo或printfq条件测试q整数测试、逻辑测试、字符串测试q控制语句q条件/循环/分支/q函数q常用shell程序内置指令qdeclare/export/eval/trap等5shell程序的第一行程序的第一行u 第一行:指定用哪个程序来编译和执行脚本。#!/bin/bash#!/bin/sh#!/bin/cshu 注释行:使用(#)符号6q 变量赋值:变量赋值:l 等号两边不能有空格等号两边不能有空格l 如果要给变量赋空值,可以在等号后面跟一个换行

3、符如果要给变量赋空值,可以在等号后面跟一个换行符variablevariable= =valuevalue变量概述变量概述q 变量命名变量命名l 变量名必须以字母或下划线开头,后面可以跟字母、数字变量名必须以字母或下划线开头,后面可以跟字母、数字 或下划线。任何其它字符都标志变量名的结束。或下划线。任何其它字符都标志变量名的结束。l 变量名关于大小写敏感。变量名关于大小写敏感。q 变量类型:变量类型:l 根据变量的根据变量的作用域作用域,变量可以分为,变量可以分为本地变量本地变量和和环境变量环境变量l 本地变量只在创建它们的本地变量只在创建它们的 shell shell 程序中可用。而环境变程

4、序中可用。而环境变量则在量则在shellshell中的所有用户进程中可用,通常也称为中的所有用户进程中可用,通常也称为全局变量全局变量。7q 显示变量的值显示变量的值echo $variable 或或 echo $variableq 清除变量清除变量unset variableq 显示所有变量显示所有变量set变量常见操作变量常见操作8环境变量和只读变量环境变量和只读变量q环境变量称为全局变量,按照惯例需要大写q注意:可被所有的shell环境下访问;如果父shell进程产生了子shell进程,则环境变量可被“继承”并复制q只读变量q是指不能被清除或重新赋值的变量是指不能被清除或重新赋值的变量#

5、export lang#readonly myvar9q 位置参量位置参量是一组特殊的内置变量,通常被是一组特殊的内置变量,通常被 shellshell 脚脚本用来本用来从命令行接受参数从命令行接受参数,或被函数用来保存传递给它,或被函数用来保存传递给它的参数。的参数。q 执行执行 shell 脚本时,用户可以通过命令行向脚本传递脚本时,用户可以通过命令行向脚本传递信息,跟在脚本名后面的用信息,跟在脚本名后面的用空格空格隔开的每个字符串都称隔开的每个字符串都称为位置参量。为位置参量。q 在脚本中使用这些参数时,需通过位置参量来引用。在脚本中使用这些参数时,需通过位置参量来引用。例如:例如: $

6、1 表示第一个参数,表示第一个参数,$2 表示第二个参数,以此表示第二个参数,以此类推。类推。 $9 以后需要用花括号把数字括起来,如第以后需要用花括号把数字括起来,如第 10 个个位置参量以位置参量以 $10 的方式来访问。的方式来访问。位置参量(命令行参数)位置参量(命令行参数)10$0当前脚本的文件名当前脚本的文件名$1-$9第第 1 1 个到第个到第 9 9 个位置参量个位置参量$10第第 1010 个位置参量,类似地,有个位置参量,类似地,有 $11 $11 , , .$#位置参量的个数位置参量的个数$*以单字符串显示所有位置参量以单字符串显示所有位置参量$未加双引号时与未加双引号时

7、与 $ $* * 含义相同,加双引号时有区别含义相同,加双引号时有区别$脚本运行的当前进程号脚本运行的当前进程号$!最后一个后台运行的进程的进程号最后一个后台运行的进程的进程号$?显示前面最后一个命令的退出状态。显示前面最后一个命令的退出状态。0 0 表示没有错误,其他任何值表示有错误。表示没有错误,其他任何值表示有错误。位置参量列表位置参量列表11位置参量举例位置参量举例u给shell程序传递参数 u如果位置参量中含有空格,则需要使用双引号shell_test.sh this is peter piper#例例1:shell_test.sh echo “the count of parameters:$#”echo “first param=$1”echo “second param=$2”echo “params string=$*”shell_test.sh this is peter12数组数组q数组定义q数组初始化q数组引用q数组赋值arr=(math english chines

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论