Shell编程基础

一.shell的定义

  shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。shell通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出,简单来说shell就是一个用户跟操作系统之间的一个命令解释器。

二.Linux中shell的种类

1.bourne shell(/usr/bin/sh或/bin/sh)
2.bourne again shell(/bin/bash)
3.C shell(/usr/bin/csh)
4.K shell(/usr/bin/ksh)
5.shell for root(/sbin/sh)

不同的shell语言的语法有所不同,一般不能交换使用,最常用的shell是bash,也就是第二种bourne again shell,bash容易使用并且是免费的,所以是大多linux系统默认的shell环境。

三.shell、shell编程、shell命令和shell脚本关系

 shell是一个整体的概念,shell编程与shell脚本统称为shell编程,shell命令是shell编程底层具体的语句和实现方法。

四.shell脚本以及打印输出

**编程注意事项:**
1.shell脚本命名一般为英文的大写、小写;
 2.shell脚本命名不能使用特殊符号、空格来命名;  
 3.shell脚本变量名称不能以数字、特殊符号开头;  
 4.不建议shell命名为纯数字,一般以脚本功能命名;  
 5.shell脚本内容首行需以#!/bin/bash开头;  
 6.shell脚本中变量名称尽量使用大写字母,字母间不能使用“-”,可以使用“_”;  
 7.shell脚本后缀是以.sh结尾;

打印输出
我们先编辑一个脚本文件,名称为study_shell.sh,输入内容,如图:

在这里插入图片描述

注:#!/bin/bash:固定格式,定义该脚本所使用的shell类型
    #打印输出内容:提示自己或者使用者此脚本文件作用
   #By author lzh:表示脚本创建人,#号表示注解
   #echo“我要学习shell编程!”shell脚本主命令,执行该脚本呈现的内容

 编辑完成以后,运行该脚本时需要权限,可以使用修改权限命令更改:chmod -R o+x study_shell.sh,修改权限以后,可以使用命令./study_shell.sh执行脚本;第二种方法执行脚本时可以忽略权限,直接输出:/bin/sh study_shell.sh,输出内容是一样的,下面是输出结果,如图所示:

在这里插入图片描述

五.shell编程变量详解

  shell属于非类型的解释型语言,使用变量时不像C++、JAVA语言编程时需要事先声明变量。shell给一个变量赋值,实际上就是定义了变量,可以用赋值符号“=”为变量赋值,定义变量不需要声明类型,也可以,可以使用declare指定类型。
declare常见参数:
1.+/-:“-”可用来指定变量的属性,“+”为取消变量所设的属性
2.-f:仅显示函数
3.r:将变量设置为只读
4.x:指定的变量会成为环境变量,可供shell以外的程序来使用
5.i:指定类型为数值,字符串或运算式
shell编程中变量与使用
1.系统变量   
使用:系统变量在对参数判断和命令返回值判断时使用
2.环境变量
  使用:环境变量则主要是在程序运行时需要设置
3.用户变量
  使用:用户变量又称为局部变量,多使用在shell脚本内部或者临时局部
变量名的定义

shell变量名在定义时,首个字符必须为字母(a~z,A~Z),不能以数字开头,中间不能有空格,可以使用下画线“_”,不能使用“-”,也不能使用标点符号等。 例如:
在这里插入图片描述
定义这样一个变量,A为变量名,值为38,变量定义完成,如需要引用变量,可以使用$A。
在这里插入图片描述
shell常见的系统变量、环境变量、用户变量详解
(1)shell编程常见系统变量
      1.$0:当前脚本的名称
      ;2.$n:当前脚本的第n个参数,n=1,2,…,9
      3.$∗:当前脚本的所有参数(不包括程序本身)
      4.$#:当前脚本的参数个数(不包括程序本身)
      5.$?:命令或程序执行完后的状态,返回0表示执行成功
      6.$$:程序本身的PID号
(2)shell编程常见环境变量
     1.PATH:命令所示路径,以冒号为分割ID
     2.ID:打印当前用户ID信息
     3.PWD:显示当前所在路径
     4.SHELL:显示当前shell类型
     5.HOME:打印用户家目录
     6.TERM:打印当前终端类型
     7.HOSTNAME:显示当前主机名
     8.USER:打印当前用户名
(3) shell编程用户变量
     1.A=n;自定义变量A
     2.N_SOFT=nginx-1.12.0.tar.gz:自定义变量N_SOFT
    3.BACK_DIR=/data/backup/:自定义变量BACK_DIR
    4.IP1=192.168.1.11:自定义变量IP1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值