Linux运维基础2

shell编程

格式要求:首行shebang机制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl

检测脚本中的语法错误
bash -n /path/to/some_script

调试执行
bash -x /path/to/some_script

局部变量     变量赋值:name=‘value’

环境变量     变量声明、赋值:
export name=VALUE
declare -x name=VALUE

定义函数

f_name (){
…函数体…
}

函数变量作用域:

环境变量:当前shell和子shell有效

本地变量:只在当前shell进程有效,为执行脚本会启动专用子shell进程;
因此,本地变量的作用范围是当前shell脚本程序文件,包括脚本中的函数

局部变量:函数的生命周期;函数结束时变量被自动销毁

根据输入的数字判断年龄多大

#!/bin/bash

read -p “please input your age: ” age
[[ “$age” =~ ^[0-9]+$ ]] || { echo your age is false ; exit 10; }
if [ “$age” -gt 0 -a “$age” -le 18 ];then
echo you are very young
elif [ “$age” -gt 18 -a “$age” -le 50 ];then
echo “work hard”
elif [ “$age” -gt 50 -a “$age” -le 80 ];then
echo “you are retire and enjoy you life”
elif [ “$age” -gt 80 -a “$age” -le 150 ] ;then
echo “Very OK”
else
echo “you don not come from the earth”
fi

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92699

(0)
RicadoRicado
上一篇 2018-03-19 19:00
下一篇 2018-03-19 21:50

相关推荐

  • N25第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ]# grep -E '^[[:space:]]+.*' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;…

    Linux干货 2017-01-08
  • DNS

    这里都以我本机的实验为例 正向解析:就是从主机名到IP的解析过程 先在工作目录/var/named/创建一个区域数据文件 以zcylinux.io域为例:vim/var/named/zcylinux.io.zone $TTL  600     #设置全局变量TTL的值为600s zcylinux.io.&nb…

    Linux干货 2017-05-30
  • 用户和组的管理

    通过命令、passwd和shadow的格式,讲述了用户和组的管理

    Linux干货 2017-12-17
  • Nginx+Apache+Tomcat实现LANMT动静分离

    Nginx+Apache+Tomcat实现LANMT动静分离          目的:    本次实验主要目的为实现以Nginx作为反向代理,并实现分别访问动静态服务的效果。   拓扑结构:     &nbsp…

    Linux干货 2016-12-05
  • 一个PHP程序员学习运维的转型

         我是一位PHP开发工程师,平时负责前端、后端以及服务器端的工作,但是称不上是个牛逼的程序员。网上热烈讨论一则传闻,“全栈工程师”(Full Stack Engineer),要求应征者对开发堆栈的每个方面都有所掌握。那究竟何为 “全栈工程师”呢?从字面上来理解,全栈工程师必须熟悉开发堆栈的每一个层次,或者至少熟悉绝大多数…

    Linux干货 2017-04-02
  • 带你走进PI的世界-Raspbian Pi上实现LAMP

     初识   Raspbian PI                   前段时间,出于兴趣,入手一个树莓派(Raspbian PI…

    Linux干货 2016-01-05