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

简单shell脚本入门了解

时间:2017-11-08 14:59:43      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:shell脚本

一、Shell脚本

     脚本:可以执行文件,运行后可以实现某种功能(命令的堆积,非交互)

规范Shell脚本的一般组成

#! 环境声明(Sha-Bang)

# 注释文本

可执行代码

二、简单写一个shell脚本,按照国际惯例,还是输出hello world

[root@server0 ~]# vim /root/1.sh

#!/bin/bash

echo hello world 

[root@server0 ~]#  chmod +x /root/1.sh

[root@server0 ~]# /root/1.sh


管道传递

使用 | 管道操作

– 将前一条命令的标准输出交给后一条命令处理

三、重定向输出


    >:只收集前面命令的正确输出

    2>:只收集前面命令的错误输出

    &>:收集前面命令的错误与正确输出

 /dev/null  #Linux黑洞设备,专用于收集不要的输出结果

变量:为了增加脚本的适用环境的能力,增加脚本的灵活度,方便。

   变量: 容器,以不变的名称,储存变化的值

      变量名=变化的值

  使用变量:    $变量名

   为了降低脚本使用难度,可以产生交互

  read   :可以产生交互,将键盘输入的内容赋值给变量

什么是变量

以不变的名称存放的可能会变化的值

– 变量名=变量值

– 方便以固定名称重复使用某个值

– 提高对任务需求、运行环境变化的适应能力

设置变量时的注意事项

– 若指定的变量名已存在,相当于为此变量重新赋值

– 等号两边不要有空格

– 变量名由字母/数字/下划线组成,区分大小写

– 变量名不能以数字开头,不要使用关键字和特殊字符

基本格式

– 引用变量值:$变量名

– 查看变量值:echo $变量名、echo ${变量名}

 变量的种类

位置变量

在执行脚本时提供的命令行参数(非交互式传值)

预定义变量

  用来保存脚本程序的执行信息

– 直接使用这些变量

– 不能直接为这些变量赋值


  $#  已加载的位置变量的个数

$*  所有位置变量的值

$?  程序退出后的状态值,0表示正常,其他值异常

$() :将命令的输出结果,作为参数

常用的测试选项


检查文件状态

-e:文档存在为真

-d:文档存在且为目录为真

-f:文档存在且为文件为真

-r:文档存在且有读取权限为真

-w:文档存在且有写入权限为真

-x:文档存在且有执行权限为真


比较整数大小(带e都有等于二字,g代表大于,l代表小于)


-gt:大于

-ge:大于等于

-eq:等于

-ne:不等于

-lt:小于

-le:小于等于


字符串比对

== :相等

!=:不相等

for循环结构

循环结构:将反复执行的语句,循环去执行

for  变量名 in 值列表

do

   命令序列

done


简单shell脚本入门了解

标签:shell脚本

原文地址:http://5476372.blog.51cto.com/5466372/1979862

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