码迷,mamicode.com
首页 > 系统相关 > 详细

linux学习-----shell基础

时间:2018-06-21 23:50:05      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:输入   操作   文件名   bin   linux中   定义   技术   bash   效率   

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

技术分享图片

 

 技术分享图片

 

linux学习-----shell基础

标签:输入   操作   文件名   bin   linux中   定义   技术   bash   效率   

原文地址:https://www.cnblogs.com/xixirui/p/9211293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!