Linux Shell讲义.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
wofaLinux Shell编程自编讲义 一、Shell脚本基础 Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、KShell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。由于易用和免费大多数Linux系统默认的Shell,Bourne Again Shell使用Bourne Shell和Bourne Again Shell编写Shell脚本的格式是固定的,如下: #!/bin/sh 或 #!/bin/bash 注:(第一行可以省略,省略后为系统的默认配置,Ubuntu和RedHat9下初始为/bin/bash,可以在首选项中修改) 第二行及以后 Your commands go here 首行中的符号#!”告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。如果首行没有这句话,在执行脚本文件的时候,将。编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个sh脚本文件。执行脚本的时候,要先将脚本文件的属性改为可执行的: chmod +x filename.sh 后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。除第一行外建议在程序中使用注释如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。区在Shell工作机制中,存在一个子shell的概念,子shell是登录shell为了运行程序而建立的一个全新的shell,这个全新的shell会使用自己的本地变量,父shell的本地变量而且,子shell 和父shell的变量不会有任何复制给子shell,子shell可以修改和存取它,但是这种修改父shell看不到变量的上述特性对于由子shell产生的后继子shell也是如此。export可以在变量赋值之后用,也可以在变量赋值之前用。/etc/init.d/)中写入脚本语句,并重启Linux,(/etc/rc.local相当于autoexec.bat,为Linux系统启动时自动执行的脚本)。 env命令用于显示变量及其取值;set用于显示环境变量取值;–x “变量名/函数名”命令用于将本地数据区中的变量到用户环境区–f命令显示环境–r “变量名”或readonly “变量名”将变量配置为只读变量只读–o posix设置),export命令用于显示所有环境变量(不包括函数)的属性,与declare –x命令相同,前缀显示“export”的是环境变量。 注:shell脚本是一种弱类型语言,使用变量的时候无需声明其类型。新的变量会在本地数据区分配内存进行存储,这个变量归当前的hell所有,任何进程都不能访问。变量方式: $变量名 {$变量名} ”$变量名”$’变量名’$”变量名”变量赋值的方式: 变量名=”” #等号左右都不能有空格,字符串中如果出现了某个变量的引用,则以该变量值(所代表的字符串)替换,用法与C类似。 第二种:变量名=’’ #等号左右都不能有空格,单引号内字面值变量名=变量例:echo I am saying: \Good morning!\ 输出:I am saying: Good morning! 例:echo ’I am saying: \Good morning!\’单引号内字面 输出:I am saying: \ Good morning!\ 变量: unset 变量名 #必须是变量名,不能是变量名的引用 值的方式:变量名如果变量已经赋值,则使用该变量值。如果变量为空,则使用。unset a echo ${a:-1234} #输出1234$a #输出a=4321 echo ${a:-1234} #输出4321$a #输出变量名如果变量已经赋值,则使用该变量值。如果变量为空,则使用。unset a echo ${a:=1234} #输出1234$a #输出a=4321 echo ${a:=1234} #输出4321$a #输出如果需要检验变量是否为空,如果为空的话则显示错误信息,则使用下面的表达式:DOIT博客3[/~ Ylw9v;^f4K:|Q${变量名:?}DOIT博客m)U+P:Nr*Pd 如果需要显示自己定义的信息,则如下:DOIT博客M p3\+z1Cv${变量名:?字符串} 一个命令的输出替换这个

文档评论(0)

hong333666 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档