Shell编程规范及变量

目录

一、Shell脚本编程概述

1.1Shell的作用

1.1.1Shell基本概念

1.1.2Shell脚本应用场景

1.1.3Shell作用——翻译官

1.1.4linux中有哪些Shell

1.1.4 为什么系统上合法的Shel1要写入/etc/she1ls这个文件

1.1.5 用户什么时候可以取得shell来工作?用户默认会取得哪一个shell?

1.2Shell编程规范

1.2.1编写脚本规范

1.2.2Shell脚本执行方法

1.2.3命名要求

1.2.4脚本错误

1.3管道与重定向

1.3.1管道

1.3.2重定向

二、Shell脚本变量

2.1Shell变量的作用

2.2Shell变量的类型

2.2.1自定义变量

2.2.2变量作用范围

2.3整数变量的算术计算

2.4环境变量

2.5只读变量

2.6位置变量

2.7预定义变量

2.8使用awk提取IP地址


一、Shell脚本编程概述

1.1Shell的作用

1.1.1Shell基本概念

  • 将要执行的命令按顺序保存到一个文本文件;

  • 给该文件可执行权限;

  • 可结合各种Shell控制语句以完成更复杂的操作。

1.1.2Shell脚本应用场景

  • 重复性操作

  • 交互性任务

  • 批量事务处理

  • 服务运行状态监控

  • 定时任务执行

1.1.3Shell作用——翻译官

       shell是一个特殊的应用程序,它介于操作系统内核和用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

1.1.4linux中有哪些Shell

[root@localhost data]#cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

1.1.4 为什么系统上合法的Shel1要写入/etc/she1ls这个文件

    因为系统某些服务运行过程中,会去检查用户能够使用的Shell,而这些shell的查询就是借由/etc/shells这个文件。

1.1.5 用户什么时候可以取得shell来工作?用户默认会取得哪一个shell?

     当用户登录的时候,系统就会给我一个shell让我来用,而这个登录取得的Shell就记录在/etc/passwd这个文件内

1.2Shell编程规范

1.2.1编写脚本规范

  • 脚本申明(解释器) :若第一行为“!/bin/bash",表示此行以下的代码语句是通过/bin/bash程序来解释执行,#!/bin/bash为默认解释器。还有其它类型的解释器,比如# !/usr/bin/python. #! /usr/bin/expect.

  • .注释信息:以“#"开头的语句表示为注释信息,被注释的语句在运行脚本时不会被执行。

  • 可执行语句:比如echo命令,用于输出”"之间的字符串

    • 如果想要把文本字符串和命令输出显示在同一行中,可以使用echo语句的 -n 参数。

示例:

[root@localhost ~]#vim first.sh   #使用vim编辑器编辑
  
#!/bin/bash                       #脚本解释器声明
#this is my first shell-script    #注释
echo 当前目录位于:                 #linux输出命令
pwd                               #linux命令

#不换行写法
echo -n 当前目录位于:
pwd

1.2.2Shell脚本执行方法

#法一:指定路径的命令,要求文件必须有x权限
[root@localhost ~]#chmod +x /root/first.sh 
[root@localhost ~]#cd /root/
[root@localhost ~]#./first.sh 
当前目录位于:
/root

#法二:指定Shell来解释脚本,不要求文件必须有x权限。
[root@localhost ~]#bash first.sh 
当前目录位于:
/root

#法三:source 脚本路径执行shell脚本
[root@localhost ~]#source first.sh 
当前目录位于:
/root

1.2.3命名要求

  • 区分大小写

  • 不能使程序中的保留字和内置变量:如: if, for, hostname

  • 只能使用数字、字母及下划线,且不能以数字开头,注意:不支持短横线“-",和主机名相反

  • 不要使用内置的变量,使用英文尽量使用词义通俗易懂,PATH

  • 驼峰StudentFirstName

  • 小驼峰studentFirstName·

  • 下划线: student_name

1.2.4脚本错误

1.命令错误:命令出错不会影响接下来的命令继续2.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值