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

相关推荐

  • Linux用户和组管理类命令以及文本处理工具的各种实例

    列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 取出最后登录到当前系统的用户的相关信息。 取出当前系统上被用户当作其默认shell的最多的那个shell。 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 取出当前主机的IP地址,提示:对i…

    2018-03-13
  • 第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; [root@CentOS7 ~]# iptables -P INPUT DROP [root@CentOS7 ~]# iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服…

    Linux干货 2017-08-13
  • CentOS上配置rsyslog客户端用以远程记录日志

    rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件…

    Linux干货 2015-02-14
  • Linux磁盘管理实操

    Linux磁盘管理实操 1、创建一个10G分区,并格式为ext4文件系统。 先使用fdisk工具创建一个10G的新分区。使用fdisk打开要创建磁盘分区的物理设备fdisk /dev/sdb,然后使用n指令创建新的分区,分区类型选此处选择为主分区,第一个柱面使用默认的1,最后的柱面,使用+10G这种表示方式,表示创建的分区大小为10G。 创建后可以使用p指令…

    系统运维 2016-12-13
  • Mysql 启动时 报ERROR 2002,分析解决、

    1、故障现象 [root@localhost scripts]# mysql -u root ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’ (2) 2、故障分析 查看mysql实例的状态 [root@localhost scr…

    Linux干货 2017-08-29