- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell足本
Shell概念:shell既是一种命令语言又是一种程序设计语言,它本身是一个用C语言编写的程序,作为用户使用Linux的桥梁
Shell了解:系统给出shell提示符,对普通用户用 $ 作提示符,对root用户用 # 做提示符,在提示符后输入命令名称及所需要的参数,shell将执行这些命令。
Shell特殊字符:
单引号
单引号将消除被括在其中的所有特殊字符的含义,即将特殊字符作为普通字符对待
2、双引号
可以替换输出为一个变量,一般和单引号搭配使用
例如: date=abc
echo $date ——————$date
echo $date ——————abc
echo $date ——————abc
echo $date ——————abc
反斜线
反斜线防止shell误解特殊字符的含义,即屏蔽特殊字符的特殊含义
例如: date=abc
echo \$date ————$date
echo $date ————abc
注释符
在shell编程里以字符 # 开头的正文行表示注释行
Shell程序变量和参数:
用户定义的变量
说明一个变量为只读
readonly +变量名
注解:如果程序中对一个只读变量进行赋值操作,则程序终止报错并不执行以下操作
b、定义公共变量
export +变量名 或 export +变量名=变量值
c、定义自己的变量
变量名=变量值 或 ${变量名=变量值}
注解:定义比变量时,等号两边一定不能有空格,两种方法定义的变量一样用法
d、清除变量
unset +变量名
注解:如果用echo打印被清除的变量,则打印空行
e、显示变量
echo命令结合$ 可以显示单个变量的取值
注解:要用一个echo命令打印多个变量则每个变量前都要加$ 符号
f、显示所有本地定义的shell变量
set命令
注解:用set命令显示所有本地定义的shell变量包括环境变量等
shell定义的环境变量
Shell在开始执行时就已经定义了一些和系统工作环境有关的变量,这些变量用户还可以重新定义(最好不要),传统上所有环境变量均为大写。
设置环境变量
VARNAME=变量值;export VARNAME 或 export VARNAME=变量值
b、显示所有环境变量
env命令可以查看所有的环境变量
注解:环境变量的其他操作和用户定义变量操作一样,例如清除unset显示echo等
常用的shell环境变量
HOME:保存注册目录的完整路径名
PWD:当前工作目录的绝对路径名
SHELL:保存默认shell类型
TERM:保存终端类型
LOGNAME:保存登录名
PATH:保存用冒号分隔的多个目录路径名,shell将按其路径顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行
预定义变量
预定义变量和环境变量相似,都是在shell开始时就定义了的变量,不同的是用户只能根据shell的定义来使用这些变量,而不能重新定义,所有预定义变量都是由$符和另一个符号组成的,常用的预定义变量如下:
$# :位置参数的变量
$* :所有位置参数的内容
$? :命令执行后返回的状态
$$ :当前进程的进程号
$ ! :后台运行的最后一个进程号
$0 :当前执行的进程名,不是一个位置参数
位置参数
位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数,位置参数之间用空格分隔。Shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依此类推,$9以后的位置参数要加大括号,如${10},${11}...
例如:在某脚本中执行sh shell_test 5 4 3 2 1,则在shell_test脚本中有5个位置参数,可以echo $2对应打印4,如同C语言中函数间传递参数
Shell程序的执行方法:
Shell编程的惯例,以bash为例,程序第一行一般为“#! /bin/bash”,其中“#”表示该行是注释,“!”表示shell(脚本)运行后面的命令“/bin/bash”并用文档的其余部分作为输入,也就是运行/bin/bash,并让/bin/bash去执行shell程序的内容。
注解:对于shell程序,当编辑器生成一个文件时,系统赋予的许可权都是644(rw-r-r--),可以直接运行这个shell脚本
sh (shell程序文件名)或 bash(shell程序文件名)
注解:调用一个新的bash命令解释程序,并把当前shell程序文件名作为参数传递给它
sh(shell程序文件名)或 bash(shell程序文件名)
注解:这种方式是利用输入重定向,使shell命令解释程序的输入取自指定的程序文件
bash -选择项(shell程序文件名)
-e :如果一个命令失败就立即退出
文档评论(0)