首页 » linux » 正文

shell

shell 是由C语言编写的程序,是用户与linux系统交互的桥梁。

shell 脚本是由shell编写的脚本,通常是shell内置命令或其他命令编写的程序。

基础:

常用/常见命令:

ls、cd、cat、more、grep、vim、tar、gzip

 

管道符(|)

将管道前的输出作为管道后的输入

 

 

脚本:

格式:

在脚本开头第一行注释使用什么shell环境

脚本调试:

注释:

单行注释:井号(#)注释

多行注释:p为标记符,任意字符即可

 

shell语法

变量:

  • 变量不需要提前声明
  • 变量名区分大小写
  • 创建变量时通过直接赋值给变量 eg. var=abc
  • 访问变量时需要在变量名前加一个$符号 eg. echo $varecho ${var}
  • 在赋值时,等号两边不能有空格 eg. var=abc
  • 如果字符串里有空格,则必须用双引号把字符串括起来 eg.var="Hello World"

局部变量&环境变量:

环境变量在用户TTY生效

局部变量在调用时生效

特殊变量:

$0: 当前脚本名. $n: n表示第几个参数, 比如脚本后接的第一个参数, 就是$1
$?: 上一条命令的返回值
$!: 上一个放入后台执行的进程的pid (适合获取并后续kill)
$$: 当前shell pid
$#: 传递给脚本或函数参数的个数
$*: 参数列表. 当有双引号阔起来时, 则是一个元素
$@: 参数列表. 当有双引号阔起来时, 还是多个元素

引号:

  • read读入数据时,带有空格的数据不需要加引号
  • 对于变量$var,如果放在双引号””中,则会替换为其值
  • 如果放在单引号”中,则不会发生替换
  • 还可以在$前面加上’\’符号取消其转义行为
if 判断语句:

 

程序控制:

if

while

while死循环

for

case

函数定义

数组定义

 

 

发表评论