




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linuxshell编程基础Linuxshell编程基础1AdvancedBash-ScriptingGuide
<<高级Bash脚本编程指南>>
LINUX与UNIXSHELL编程指南
--CUAdvancedBash-ScriptingGuide
2内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe3内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe4Shell的位置linux系统组成硬件系统linux内核kernelshell程序应用程序Shell的位置linux系统组成硬件系统linux内核ke5Shell的类别Shell类型主要特点简称命令提示符BourneShell最老、使用最广泛,每个UNIX都提供,是三种Shell程序的基础。BShellsh$KornShell是对BShell的扩充,兼容BShell。KShellksh$C-Shell更接近于C语言,提供比BShell更强大的功能,是三种Shell程序中功能最强大的。CShellcsh%Bash:Bourne-AgainShell
6Shell的发展与分类BshKshBashCshBsh在20世纪70年代中期诞生于新泽西的AT&T贝尔实验室,具有较强的脚本编程功能Csh在20世纪80年代早期诞生于加利福尼亚大学,使用C语言的语法,用户命令交互更加方便Ksh结合了Bsh和Csh两者的功能优势,兼有Bsh的语法和Csh的交互特性Bash是Bsh的升级替代品,吸收了Ksh中的诸多优秀特性,Bash是开源软件Shell的发展与分类BshKshBashCshBsh在27内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe8
shell基本命令$clear清除屏幕命令shell基本命令$clear清除屏幕命令9shell基本命令$man<command>系统帮助shell基本命令$man<command>系统帮10shell基本命令echo:回显格式:echo[OPTION]...[STRING]...
echo命令[oracle@src~]$echohelloworld!helloworld![oracle@src~]$a="mynameisleeecho"[oracle@src~]$echo$amynameisleeecho[oracle@src~]$echo$ORACLE_SIDDBTESTshell基本命令echo:回显echo命令[orac11shell基本命令pwd:显示当前目录格式:pwd[OPTION]pwd命令[oracle@srcftp]$pwd/home/oracle/ftp[oracle@srcftp]$cd/etc[oracle@srcetc]$pwd/etc[oracle@srcetc]$
shell基本命令pwd:显示当前目录pwd命令[or12shell基本命令cd:改变目录格式:cd[directoryname]...
cd命令[oracle@src~]$pwd/home/oracle[oracle@src~]$cd..[oracle@srchome]$pwd/home[oracle@srchome]$cd/[oracle@src/]$pwd/shell基本命令cd:改变目录cd命令[oracle13shell基本命令ls:列表目录内容格式:ls[OPTION]...[FILE]...OPTION:-l:显示文件所有属性-a:显示所有文件含隐含文件ls命令shell基本命令ls:列表目录内容ls命令14shell基本命令cat:连接文件并显示文件内容格式:cat[OPTION][FILE]...cat命令[oracle@src~]$catmytest.txtthisistest!shell基本命令cat:连接文件并显示文件内容cat15shell基本命令wc:打印一个文件的字节数,字数和行数格式:wc[OPTION]...[FILE]...OPTION:-l:文件包含的行数-w:文件包含的单词数-c:文件包含的字符数wc命令shell基本命令wc:打印一个文件的字节数,字数和行数16shell基本命令head:显示文件开始的部分格式:head[OPTION]...[FILE]...OPTION:-n:显示的行数head命令
默认显示前10行shell基本命令head:显示文件开始的部分head17shell基本命令tail:显示文件后面的部分格式:tail[OPTION]...[FILE]...OPTION:-n:显示的行数tail命令
默认显示后10行shell基本命令tail:显示文件后面的部分tail命18shell基本命令mkdir:创建文件目录格式:mkdir[OPTION]DIRECTORY...mkdir命令[oracle@srcleeecho]$pwd/home/oracle/leeecho[oracle@srcleeecho]$mkdirtest[oracle@srcleeecho]$lstestshell基本命令mkdir:创建文件目录mkdir命令19shell基本命令rmdir:删除文件目录格式:rmdir[OPTION]DIRECTORY...rmdir命令
文件夹必须为空才可以使用rmdir删除shell基本命令rmdir:删除文件目录rmdir命令20shell基本命令rm:删除文件格式:rmdir[OPTION]DIRECTORY...OPTION:-r:删除文件夹以及所包含的文件rm命令
rm是危险的,谨慎使用!shell基本命令rm:删除文件rm命令rm是危险的,21shell基本命令date:显示或设置日期格式:date[OPTION]...[+FORMAT]date命令
取昨天的时间echo`date+%Y%m%d-d'yesterday'`取三天前的时间echo`date+%Y%m%d-d‘3daysago'`echo`date+%Y%m%d-d‘-3days'`取明天的时间echo`date+%Y%m%d-d'tomorrow'`echo`date+%Y%m%d-d‘+1days'`shell基本命令date:显示或设置日期date命令22shell基本命令find:查找文件格式:find[path...][expression]find命令find/home/oracle/-name"*.txt"-print
shell基本命令find:查找文件find命令fin23shell基本命令xargs:执行命令格式:xargs[expression]xargs命令find/home/oracle/-name"*.txt"-print
|xargscat解决命令参数过多的问题shell基本命令xargs:执行命令xargs命令f24shell基本命令grep:搜索符合要求的内容格式:grep[options]PATTERN[FILE...]OPTION:-v:找出不匹配的行-c:统计匹配行数-n:显示匹配行及其行号grep命令shell基本命令grep:搜索符合要求的内容grep25命令显示grep‘[A-Z]’listlist中包含一个大写字母的行grep‘[0-9]’datadata中包含数据的行grep‘[A-Z]…[0-9]’listlist中包含大写字母开始,数据结尾的5个字符组合的行grep‘\.pic$’listlist中以.pic结尾的行命令显示grep‘[A-Z]’listlist中包含26shell基本命令crontab:执行作业格式:crontab[-uuser][-l|-r|-e]OPTION:-l:显示cron文件-e:创建、编辑cron文件-r:删除cron文件crontab命令Crontab文件格式:min hour date monthdaycommand0-59 0-23 1-31 1-120-6shell基本命令crontab:执行作业cronta27shell基本命令把两个命令连接起来,使前面命令的输出是后面一个命令的输入,这就是管道。
管道(|)显示oracle的后台进程
ps-ef|grep$ORACLE_SID实际例gunzip-cE:\20060621\20060621\*.gz|grep-i^[J]...[SMS]>E:\20060621\test7.txtgunzip-cE:\20060621\20060621\*.gz|grep-iJ...SMS*>E:\20060621\test7.txt子shell基本命令把两个命令连接起来,使前面命令的输出是28shell基本命令
输入输出重定向echothisistest1>>/home/oracle/leeecho/text1.txtechothisistest3>/home/oracle/leeecho/text1.txtgrep[A-C]<符号重定向功能>输出重定向>>追加输出|管道操作<输入重定向shell基本命令输入输出重定向echothis29shell基本命令
引用单引号忽略所有的特殊字符,单引号自己除外,变量不解释
echo'<>|;()[]{}>>\\"`"$ORACLE_SID"‘双引号
echo"<>|;()[]{}>>\\"$ORACLE_SID""
单引号(‘)忽略所有除自己之外的特殊字符双引号(“)不忽略一下三种特殊字符美元符号$
反引号`
反斜杠\反斜杠(\)忽略后面跟着的一个特殊字符shell基本命令引用单引号忽略所有的特殊字符,单引号30shell基本命令有趣的例子:[oracle@srcleeecho]$x=*[oracle@srcleeecho]$echo$xtest1.txttest2.txt[oracle@srcleeecho]$echo"$x"*[oracle@srcleeecho]$echo'$x'$x[oracle@srcleeecho]$echo"\$x"$xshell基本命令有趣的例子:31shell基本命令
命令替换echoYesterdayis`date+%Y%m%d-d'yesterday'`!echoYesterdayis$(date+%Y%m%d-d'yesterday')!
反引号(`)$(…)结构shell基本命令命令替换echoYesterday32Bash的命令行编辑功能操作键功能左右方向键使用左右方向键可以使光标在当前命令行中的已有字符间进行任意的移动退格键删除命令行中光标左边的字符Del删除当前光标处的字符Home将光标快速移动到命令行的行首End将光标快速移动到命令行的行尾Ctrl+u删除当前光标到行首的内容Ctrl+k删除当前光标到行尾的内容Bash的命令行编辑功能操作键功能左右方向键使用左右方向键33Bash的命令行补全功能命令补全功能使用Tab键可在命令查找路径中查找匹配的命令,并进行命令拼写的补全文件补全功能使用Tab键可对文件和目录名进行补全Bash的命令行补全功能命令补全功能34Bash的命令历史与命令重复命令历史功能的使用使用上下方向键浏览已输入命令(历史命令)历史命令的查看$history用户命令历史保存文件~/.bash_history命令历史的清除$history-c
Bash的命令历史与命令重复命令历史功能的使用35Bash的命令别名功能命令别名的显示$alias命令别名的定义$aliasgrep='grep-i'命令别名的取消$aliasgrep$unalias-a系统别名定义文件RHEL4系统中为用户预定义的命令别名保存在“/etc/pro”目录的配置文件中Bash的命令别名功能命令别名的显示36管道与重定向标准输入输出重定向操作管道操作管道与重定向标准输入输出37标准输入输出输入输出文件文件编号默认设备标准输入0键盘标准输出1显示器标准错误输出2显示器标准输入输出输入输出文件文件编号默认设备标准输入0键盘标准38重定向操作类别操作符说明输入重定向<输入重定向是将命令中接收输入的途径由默认的键盘更改(重定向)为指定的文件输出重定向>将命令的执行结果重定向输出到指定的文件中,命令进行输出重定向后执行结果将不显示在屏幕上>>将命令执行的结果重定向并追加到指定文件的末尾保存错误重定向2>清空指定文件的内容,并保存标准错误输出的内容到指定文件中2>>向指定文件中追加命令的错误输出,而不覆盖文件中的原有内容输出与错误组合重定向&>将标准输出与错误输出的内容全部重定向到指定文件重定向操作类别操作符说明输入重定向<输入重定向是将命令中接收39内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe40知识准备命令行编辑功能命令和文件名补全功能命令历史功能命令别名功能提供作业控制功能具有将命令序列定义为功能键的功能灵活的Shell脚本编程知识准备命令行编辑功能41Shell变量的分类环境变量预定义变量位置变量用户自定义变量(本地变量)Shell变量的分类环境变量42环境变量使用set命令查看环境变量set常用环境变量USERUIDSHELLHOMEPWDPATHPS1PS2环境变量配置文件/etc/bashrc/etc/profile
~/.bash_profile~/.bashrc
环境变量使用set命令查看环境变量43位置变量$./exam01onetwotreefourfivesix$0表示命令名称$0属于预定义变量$0不属于位置变量$1表示第1个命令参数$2表示第2个命令参数$3表示第3个命令参数$n表示第n个命令参数位置变量$./exam0144预定义变量变量名含义$#表示位置参数的数量$*表示所有位置参数的内容$?表示命令执行后返回的状态,用于检查上一个命令的执行是否正确;在Linux中,命令退出状态为0表示命令正确执行,任何非0值表示命令执行错误$$表示当前进程的进程号$!表示后台运行的最后一个进程号$0表示当前执行的进程名预定义变量变量名含义$#表示位置参数的数量$*表示所有45用户自定义变量自定义变量的设置$DAY=sunday自定义变量的查看与引用$echo$DAY
自定义变量的输出$exportDAY自定义变量的清除$unsetDAY
用户自定义变量自定义变量的设置46shell语法结构
变量Shell的变量没有类型之说,只有在比较的时候有字符串和整数之说。
变量赋值
a=123b=jklc=$(ls)使用变量
echo$aleta=a+789(linux做运算的方法)
shell语法结构变量Shell的变量没有类型之说,只47shell语法结构
比较整数的比较
-eq:等于
-ne:不等于
-gt:大于
-ge:大于等于
-lt:小于
-le:小于等于字符串比较
=等于则为真
!=不相等则为真
-z空串
-n非空串0为真,1为假shell语法结构比较整数的比较字符串比较0为真,148shell语法结构[oracle@src~]$["23"-lt"89"][oracle@src~]$echo$?0[oracle@src~]$["jkljl"="jklljl"][oracle@src~]$echo$?1[oracle@src~]$[-z"jkl"][oracle@src~]$echo$?1[oracle@src~]$[-z""][oracle@src~]$echo$?0[oracle@src~]$shell语法结构[oracle@src~]$["249shell语法结构||和&&expr1||expr2expr1为假执行expr2expr1&&expr2expr1为真执行expr2
[oracle@src~]$str=cuit[oracle@src~]$[-n"$str"]&&echo"Thestringisnull"Thestringisnull[oracle@src~]$[-n"$str"]&&echo"Thestringisnotnull"Thestringisnotnull[oracle@src~]$str=""[oracle@src~]$[-z"$str"]||echo"Thestringisnull"[[oracle@src~]$[-n"$str"]||echo"Thestringisnull"Thestringisnullshell语法结构||和&&expr1||ex50shell语法结构if语句#!/bin/sh#thisisiftest!a=5b=7if["$a"-lt"$b"]thenecho"$a"\<"$b"elseecho"$a"\>"$b"fiif[…]then….else….fishell语法结构if语句#!/bin/shif[51shell语法结构while语句#/bin/sha=0while["$a"-lt"10"]doecho"$a"leta=$a+1donewhile[…]do….….doneshell语法结构while语句#/bin/shwhi52shell语法结构for语句#/bin/shforiin12345678910doecho-n"$i"doneforiin`seq10`doecho-n"$i"donefor
[…]do….….doneshell语法结构for语句#/bin/shfor[53shell语法结构ftp命令ftp命令解释?或help[command]命令帮助binary设定以二进制方式传送文件ascii设定以ASCII方式传送文件(缺省值)cd[directory]改变远程目录lcd[directory]改变本地目录putfile1[file2]将本地file1文件拷贝到远程file2shell语法结构ftp命令ftp命令解释?或help54shell语法结构ftp命令ftp命令解释getfile1[fine2]将远程file1文件拷贝到本地file2mputfiles将本地多个文件files拷贝到远程mgetfiles将远程多个文件files拷贝到本地close关闭远程连接quit或bye退出ftpshell语法结构ftp命令ftp命令解释getfil55shell语法结构
调用sql语句sqlplus-ssrc/src@dbtest<<!….….….!shell语法结构调用sql语句sqlplus-ss56Linuxshell编程基础Linuxshell编程基础57AdvancedBash-ScriptingGuide
<<高级Bash脚本编程指南>>
LINUX与UNIXSHELL编程指南
--CUAdvancedBash-ScriptingGuide
58内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe59内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe60Shell的位置linux系统组成硬件系统linux内核kernelshell程序应用程序Shell的位置linux系统组成硬件系统linux内核ke61Shell的类别Shell类型主要特点简称命令提示符BourneShell最老、使用最广泛,每个UNIX都提供,是三种Shell程序的基础。BShellsh$KornShell是对BShell的扩充,兼容BShell。KShellksh$C-Shell更接近于C语言,提供比BShell更强大的功能,是三种Shell程序中功能最强大的。CShellcsh%Bash:Bourne-AgainShell
62Shell的发展与分类BshKshBashCshBsh在20世纪70年代中期诞生于新泽西的AT&T贝尔实验室,具有较强的脚本编程功能Csh在20世纪80年代早期诞生于加利福尼亚大学,使用C语言的语法,用户命令交互更加方便Ksh结合了Bsh和Csh两者的功能优势,兼有Bsh的语法和Csh的交互特性Bash是Bsh的升级替代品,吸收了Ksh中的诸多优秀特性,Bash是开源软件Shell的发展与分类BshKshBashCshBsh在263内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe64
shell基本命令$clear清除屏幕命令shell基本命令$clear清除屏幕命令65shell基本命令$man<command>系统帮助shell基本命令$man<command>系统帮66shell基本命令echo:回显格式:echo[OPTION]...[STRING]...
echo命令[oracle@src~]$echohelloworld!helloworld![oracle@src~]$a="mynameisleeecho"[oracle@src~]$echo$amynameisleeecho[oracle@src~]$echo$ORACLE_SIDDBTESTshell基本命令echo:回显echo命令[orac67shell基本命令pwd:显示当前目录格式:pwd[OPTION]pwd命令[oracle@srcftp]$pwd/home/oracle/ftp[oracle@srcftp]$cd/etc[oracle@srcetc]$pwd/etc[oracle@srcetc]$
shell基本命令pwd:显示当前目录pwd命令[or68shell基本命令cd:改变目录格式:cd[directoryname]...
cd命令[oracle@src~]$pwd/home/oracle[oracle@src~]$cd..[oracle@srchome]$pwd/home[oracle@srchome]$cd/[oracle@src/]$pwd/shell基本命令cd:改变目录cd命令[oracle69shell基本命令ls:列表目录内容格式:ls[OPTION]...[FILE]...OPTION:-l:显示文件所有属性-a:显示所有文件含隐含文件ls命令shell基本命令ls:列表目录内容ls命令70shell基本命令cat:连接文件并显示文件内容格式:cat[OPTION][FILE]...cat命令[oracle@src~]$catmytest.txtthisistest!shell基本命令cat:连接文件并显示文件内容cat71shell基本命令wc:打印一个文件的字节数,字数和行数格式:wc[OPTION]...[FILE]...OPTION:-l:文件包含的行数-w:文件包含的单词数-c:文件包含的字符数wc命令shell基本命令wc:打印一个文件的字节数,字数和行数72shell基本命令head:显示文件开始的部分格式:head[OPTION]...[FILE]...OPTION:-n:显示的行数head命令
默认显示前10行shell基本命令head:显示文件开始的部分head73shell基本命令tail:显示文件后面的部分格式:tail[OPTION]...[FILE]...OPTION:-n:显示的行数tail命令
默认显示后10行shell基本命令tail:显示文件后面的部分tail命74shell基本命令mkdir:创建文件目录格式:mkdir[OPTION]DIRECTORY...mkdir命令[oracle@srcleeecho]$pwd/home/oracle/leeecho[oracle@srcleeecho]$mkdirtest[oracle@srcleeecho]$lstestshell基本命令mkdir:创建文件目录mkdir命令75shell基本命令rmdir:删除文件目录格式:rmdir[OPTION]DIRECTORY...rmdir命令
文件夹必须为空才可以使用rmdir删除shell基本命令rmdir:删除文件目录rmdir命令76shell基本命令rm:删除文件格式:rmdir[OPTION]DIRECTORY...OPTION:-r:删除文件夹以及所包含的文件rm命令
rm是危险的,谨慎使用!shell基本命令rm:删除文件rm命令rm是危险的,77shell基本命令date:显示或设置日期格式:date[OPTION]...[+FORMAT]date命令
取昨天的时间echo`date+%Y%m%d-d'yesterday'`取三天前的时间echo`date+%Y%m%d-d‘3daysago'`echo`date+%Y%m%d-d‘-3days'`取明天的时间echo`date+%Y%m%d-d'tomorrow'`echo`date+%Y%m%d-d‘+1days'`shell基本命令date:显示或设置日期date命令78shell基本命令find:查找文件格式:find[path...][expression]find命令find/home/oracle/-name"*.txt"-print
shell基本命令find:查找文件find命令fin79shell基本命令xargs:执行命令格式:xargs[expression]xargs命令find/home/oracle/-name"*.txt"-print
|xargscat解决命令参数过多的问题shell基本命令xargs:执行命令xargs命令f80shell基本命令grep:搜索符合要求的内容格式:grep[options]PATTERN[FILE...]OPTION:-v:找出不匹配的行-c:统计匹配行数-n:显示匹配行及其行号grep命令shell基本命令grep:搜索符合要求的内容grep81命令显示grep‘[A-Z]’listlist中包含一个大写字母的行grep‘[0-9]’datadata中包含数据的行grep‘[A-Z]…[0-9]’listlist中包含大写字母开始,数据结尾的5个字符组合的行grep‘\.pic$’listlist中以.pic结尾的行命令显示grep‘[A-Z]’listlist中包含82shell基本命令crontab:执行作业格式:crontab[-uuser][-l|-r|-e]OPTION:-l:显示cron文件-e:创建、编辑cron文件-r:删除cron文件crontab命令Crontab文件格式:min hour date monthdaycommand0-59 0-23 1-31 1-120-6shell基本命令crontab:执行作业cronta83shell基本命令把两个命令连接起来,使前面命令的输出是后面一个命令的输入,这就是管道。
管道(|)显示oracle的后台进程
ps-ef|grep$ORACLE_SID实际例gunzip-cE:\20060621\20060621\*.gz|grep-i^[J]...[SMS]>E:\20060621\test7.txtgunzip-cE:\20060621\20060621\*.gz|grep-iJ...SMS*>E:\20060621\test7.txt子shell基本命令把两个命令连接起来,使前面命令的输出是84shell基本命令
输入输出重定向echothisistest1>>/home/oracle/leeecho/text1.txtechothisistest3>/home/oracle/leeecho/text1.txtgrep[A-C]<符号重定向功能>输出重定向>>追加输出|管道操作<输入重定向shell基本命令输入输出重定向echothis85shell基本命令
引用单引号忽略所有的特殊字符,单引号自己除外,变量不解释
echo'<>|;()[]{}>>\\"`"$ORACLE_SID"‘双引号
echo"<>|;()[]{}>>\\"$ORACLE_SID""
单引号(‘)忽略所有除自己之外的特殊字符双引号(“)不忽略一下三种特殊字符美元符号$
反引号`
反斜杠\反斜杠(\)忽略后面跟着的一个特殊字符shell基本命令引用单引号忽略所有的特殊字符,单引号86shell基本命令有趣的例子:[oracle@srcleeecho]$x=*[oracle@srcleeecho]$echo$xtest1.txttest2.txt[oracle@srcleeecho]$echo"$x"*[oracle@srcleeecho]$echo'$x'$x[oracle@srcleeecho]$echo"\$x"$xshell基本命令有趣的例子:87shell基本命令
命令替换echoYesterdayis`date+%Y%m%d-d'yesterday'`!echoYesterdayis$(date+%Y%m%d-d'yesterday')!
反引号(`)$(…)结构shell基本命令命令替换echoYesterday88Bash的命令行编辑功能操作键功能左右方向键使用左右方向键可以使光标在当前命令行中的已有字符间进行任意的移动退格键删除命令行中光标左边的字符Del删除当前光标处的字符Home将光标快速移动到命令行的行首End将光标快速移动到命令行的行尾Ctrl+u删除当前光标到行首的内容Ctrl+k删除当前光标到行尾的内容Bash的命令行编辑功能操作键功能左右方向键使用左右方向键89Bash的命令行补全功能命令补全功能使用Tab键可在命令查找路径中查找匹配的命令,并进行命令拼写的补全文件补全功能使用Tab键可对文件和目录名进行补全Bash的命令行补全功能命令补全功能90Bash的命令历史与命令重复命令历史功能的使用使用上下方向键浏览已输入命令(历史命令)历史命令的查看$history用户命令历史保存文件~/.bash_history命令历史的清除$history-c
Bash的命令历史与命令重复命令历史功能的使用91Bash的命令别名功能命令别名的显示$alias命令别名的定义$aliasgrep='grep-i'命令别名的取消$aliasgrep$unalias-a系统别名定义文件RHEL4系统中为用户预定义的命令别名保存在“/etc/pro”目录的配置文件中Bash的命令别名功能命令别名的显示92管道与重定向标准输入输出重定向操作管道操作管道与重定向标准输入输出93标准输入输出输入输出文件文件编号默认设备标准输入0键盘标准输出1显示器标准错误输出2显示器标准输入输出输入输出文件文件编号默认设备标准输入0键盘标准94重定向操作类别操作符说明输入重定向<输入重定向是将命令中接收输入的途径由默认的键盘更改(重定向)为指定的文件输出重定向>将命令的执行结果重定向输出到指定的文件中,命令进行输出重定向后执行结果将不显示在屏幕上>>将命令执行的结果重定向并追加到指定文件的末尾保存错误重定向2>清空指定文件的内容,并保存标准错误输出的内容到指定文件中2>>向指定文件中追加命令的错误输出,而不覆盖文件中的原有内容输出与错误组合重定向&>将标准输出与错误输出的内容全部重定向到指定文件重定向操作类别操作符说明输入重定向<输入重定向是将命令中接收95内容Linux基本命令Shell的语法结构Linuxshell基本介绍内容Linux基本命令Shell的语法结构Linuxshe96知识准备命令行编辑功能命令和文件名补全功能命令历史功能命令别名功能提供作业控制功能具有将命令序列定义为功能键的功能灵活的Shell脚本编程知识准备命令行编辑功能97Shell变量的分类环境变量预定义变量位置变量用户自定义变量(本地变量)Shell变量的分类环境变量98环境变量使用set命令查看环境变量set常用环境变量USERUIDSHELLHOMEPWDPATHPS1PS2环境变量配置文件/etc/bashrc/etc/profile
~/.bash_profile~/.bashrc
环境变量使用set命令查看环境变量99位置变量$./exam01onetwotreefourfivesix$0表示命令名称$0属于预定义变量$0不属于位置变量$1表示第1个命令参数$2表示第2个命令参数$3表示第3个命令参数$n表示第n个命令参数位置变量$./exam01100预定义变量变量名含义$#表示位置参数的数量$*表示所有位置参数的内容$?表示命令执行后返回的状态,用于检查上一个命令的执行是否正确;在Linux中,命令退出状态为0表示命令正确执行,任何非0值表示命令执行错误$$表示当前进程的进程号$!表示后台运行的最后一个进程号$0表示当前执行的进程名预定义变量变量名含义$#表示位置参数的数量$*表示所有101用户自定义变量自定义变量的设置$DAY=sunday自定义变量的查看与引用$echo$DAY
自定义变量的输出$exportDAY自定义变量的清除$unsetDAY
用户自定义变量自定义变量的设置102shell语法结构
变量Shell的变量没有类型之说,只有在比较的时候有字符串和整数之说。
变量赋值
a=123b=jklc=$(ls)使用变量
echo$aleta=a+789(linux做运算的方法)
shell语法结构变量Shell的变量没有类型之说,只103shell语法结构
比较整数的比较
-eq:等于
-ne:不等于
-gt:大于
-ge:大于等于
-lt:小于
-le:小于等于字符串比较
=等于则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论