文档详情

给初学者的入门知识.PDF

发布:2017-07-27约9.94千字共8页下载文档
文本预览下载声明
给初学者的入门知识 1.建立和运行 shell 程序 什么是 shell程序呢? 简单的说 shell程序 是一个包含若干行 shell或者 linux 命令的文件.象编写高级语 言的程序一样,编写一个 shell程序需要一个文本编辑器.如VI 等.在文本编辑环境下,依据 shell 的语法规则, 输入一些 shell/linux 命令行,形成一个完整的程序文件. 执行 shell程序文件有三种方法 (1)#chmod +x file(在/etc/profile 中,加入 export PATH=$ {PATH}:~/yourpath, 可以在命令行下直接运 行,像执行普通命令一样) (2)#sh file (3)# . file (4)#source file 在编写 shell 时,第一行一定要指明系统需要那种 shell解释你的shell程序,如:#! /bin/bash, #! /bin/csh,/bin/tcsh,还是#! /bin/pdksh . 2.shell 中的变量 (1)常用系统变量 $ # :保存程序命令行参数的数 目 $ ? :保存前一个命令的返回码 $ 0 :保存程序名 $ * :以($1 $2...)的形式保存所有输入的命令行参数 $ @ :以($1$2...)的形式保存所有输入的命令行参数 (2)定义变量 shell 语言是非类型的解释型语言,不象用C++/JAVA 语言编程时需要事先声明变量.给一个变量赋值,实际上 是定义了变量. 在 linux支持的所有 shell 中,都可以用赋值符号(=)为变量赋值.如: abc=9 (bash/pdksh 不能在等号两侧留下空格 ) set abc = 9 (tcsh/csh) 由于 shell 程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放整数.如: name=abc (bash/pdksh) set name = abc (tcsh) 在变量赋值之后,只需在变量前面加一个$去引用.如: echo $abc (3)位置变量 当运行一个支持多个命令行参数的shell 程序时,这些变量的值将分别存放在位置变量里. 其中第一个参数存放在位置变量 1,第二个参数存放在位置变量 2,依次类推...,shell保留 这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们. 3.shell 中引号的使用方法 shell使用引号(单引号/双引号)和反斜线(\)用于向 shell 解释器屏蔽一些特殊字符.反引号()对 shell 则有特殊意义.如: abc=how are you (bash/pdksh) set abc = how are you (tcsh) 这个命令行把三个单词组成的字符串how are you 作为一个整体赋值给变量abc. abc1=@LOGNAME,how are you! (bash/pdksh) set abc1=$LOGNAME,how are you! (tcsh) abc2=$LOGNAME,how are you! (bash/pdksh) set abc2=$LOGNAME,how are you! (tcsh) LOGNAME 变量是保存当前用户名的shell 变量,假设他的当前值是:wang.执行完两条命令后,abc1 的内容是: $LOGNAME, how are you!.而 abc2 的内容是;wang, how are you!.象单引号一样,反斜线也能屏蔽所有特殊字 符.但是他一次只能屏蔽一个字符.而不能屏蔽一组字符. 反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将一个命令的运行结果传 递给另外一个命令.如: contents=`ls` (bash/pdksh) set contents = `ls` (tcsh) 4.shell 程序中的test 命令 在 bash/pdksh 中,命令 test 用于计算一个条件表达式的值.他们经常在条件语句和循环语句中被用来判断某 些条件是否满足. test命令的语法格式: test expression 或者 [express
显示全部
相似文档