shell编程入门基础.docVIP

  • 2
  • 0
  • 约1.04万字
  • 约 32页
  • 2020-05-11 发布于安徽
  • 举报
.- Shell程序设计 学习内容: 什么是shell 语法:变量、条件判断、程序控制 函数 命令和命令的执行 Here文档 调试 Grep命令和正则表达式 Find命令 什么是shell? Shell是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令。在一个linux系统中可以安装多个shell,这些shell和其他程序一起环绕在linux内核四周。默认安装的标准是/bin/sh,它是GNU工具集中的bash。使用/bin/bash –version可以查看版本。 Shell 历史版本:sh csh,、tcsh、 zsh ksh、pdksh bash shell脚本编写、运行、调试 脚本均以 #!/bin/bash开头。 脚本中的 ‘#’为注释符。 使用exit为脚本设置返回一个退出码,注意 0 表示的是执行成功。 示例: #!/bin/bash # this is my first shell! echo “helloword!” exit 0 设置脚本为可执行: chmod u+x filename.sh 执行:./filename.sh sh –x ./filename.sh shell语法 变量:无需事先声明,直接使用,在访问时要加$在变量前。 例如: Str=hello echo $Str a.这两行语句将在屏幕输出一个“hello”,shell区别大小写,定义变量时应该注意。 b.如果为变量所赋的字符串中含有空格,table或换行符应使用“”标示,例如 “hello word!” c.变量在引号中依然有效如echo “this is $Str!”依然会输出:this is hello! 练习示例:(注:后续的示例中只有关键部分,练习时补全) echo “input password:” read pasd echo “the password is $pasd” d.如果需要输出字符$Str可以用单引号 和 \来处理: ‘$Str’ 和\$Str 输出的都是 $Str不是变量表示的值,shell中的变量一般都是字符串形式。 e: 环境变量,介绍几种: $HOME 当前用户的家目录 $PATH 搜索命令的目录列表 $0 shell脚本的名字 $# 传递给脚本的参数个数 $$ 脚本的进程号 f:参数变量: $1,$2脚本的程序参数 $* 列出所有参数 $@ S*的一种变体,它参数不会挤在一块。 g:变量做整形数字使用: a=123 let “a +=1” echo “a = $a” 条件 使用 test 或 [ ] 如 if test –f file.c then ….. fi 以上代码也可写成如下形式(尽量使用这种形式) if [ -f file.c ] (注意:if语句和[之间有个空格] then …. fi 完整示例: #!/bin/bash echo “is it morning? Please answer yes or no” read timeofday if [ $timeofday = “yes” ] ;then echo “good morning” else echo “good afternoon” fi exit 0 elif语句,在if,else语句中增加分支判断。如下示例: #!/bin/bash echo “is it morning? Please answer yes or no” read timeofday if [ $timeofday = “yes” ] ;then echo “good morning” elif [ $timeofday = “no” ] then echo “Good afternoon” else echo “sorry ,$timeofday not recognized. Enter yes or no” exit 1 fi exit 0 一个与变量有关的问题。 如上程序,如果没有输入Yes和no直接按回车键,会出现什么结果呢?程序会有出错信息。原因是。。。避免该问题产生的方法对变量使用双引号“$Str” for语句 使用for语句可以循环处理一组值,这组值可以是任意字符串的集合。 它的语法形式如下: for variable in values do something done 示例: #!/bin/bash

文档评论(0)

1亿VIP精品文档

相关文档