linux学习-----shell基础

shell基础

1.什么是shell

shell是一个C语言开发的程序 他是用户使用linux的桥梁

既是一个命令语言

一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内核的服务

又是一种程序设计语言

2.什么是脚本

脚本就是一条条的文字命令 这些命令是可以看得到的

常见脚本 JS   PHP JSP   SQL    PHTHON PERL    SHELL  RUBY  JAVAFX

3.shell的优点:

linux内置的脚本

程序开发效率高(批处理)

语法简单易学

4.常见的shell种类

linux中默认的shell是    /bin/bash(重点)

ksh   tcsh(csh增强版) zsh(linux中最庞大的一种shell 用起来复杂)

5.shell入门

编写规范

        1.代码规范:

           #!/bin/bash          指定告知系统当前脚本要使用的shell解析器

           Shell相关指令

         2.文件的命名规范:

           文件名.sh

使用流程:

         1.创建一个shell文件

         2.编写shell代码

             输出命令:echo

             注意 输出的内容包含字母和符号 则需要用引号包起来

         3.执行shell脚本            脚本必须要有执行权限

            运行的时候一定要写成./test.sh   告诉系统在当前目录下查找

shell分为简单的写法(简单命令的堆积)和复杂的写法(程序的设计)

shell进阶

1.变量

          在一个脚本周期内 值可以发生变化的量就是变量

          使用变量的时候 要在变量名前面加上$符号

2.变量名规范:

          1.等号左右不能有空格

          2.变量名中间不能用空格 可以使用“_”

          3.不能使用标点符号

          4.不能使用bash中关键字

3.只读变量

         readonly 变量名

         变量定义好之后 只能被读 不能被修改

4.接受用户输入

         语法:  read -p 提示信息 变量名

5.删除变量

         语法:unset 变量名

         当为指令设置变量的时候 对于指令要用反引号括起来

2.条件判断

语法一:

if condition

then

     command1

fi

单行写法:   if[condition]; then command; fi

语法二

if condition

then

       command1

else

       command2

fi

语法三

if condition

then

       command1

elif condition

then

       command2

else

       command

fi

3.运算符

         1.算数运算符

原生的bash不支持简单的数学运算 但是可以通过其他命令来实现 如expr

 

实例:

 

           2.关系运算符:

 

        3.逻辑运算符

 

             4.字符串运算符

 

          5.文件测试运算符(重点)

用于检测unix/linux文件的各种属性

 

4.shell脚本的附带选项

问题  在linux shell中如何处理tail -10 access.log这样的命令选项

步骤:

1.调用tail指令

2.系统把后续的选项传递给tail

3.tail先去打开指定的文件

4.取出最后10行

问题:自己写的shell是否也可以向内置命令一样传递一些选项呢

答 可以 传递

#./test.sh a b c

接收

在脚本中可以用“$1”来表示a   “$2”来表示b  。。。。。

测试 :编写test4.sh  传递a b c

 

猜你喜欢

转载自www.cnblogs.com/xixirui/p/9211293.html