Linux学习笔记——Shell基础入门

Shell变量

  • 定义变量时,变量名不加$(美元符号)
    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
    • 中间不能有空格,可以使用下划线(_)
    • 不能使用标点符号
    • 不能使用bash里面的关键字(可用help查看保留关键字)
  • 变量的类型
    • 局部变量
      • 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量
    • 环境变量
      • 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行
    • shell变量
      • shell变量是由shell程序设置的特殊变量,shell变量中有一部分是环境变量,有一部分是局部变量
  • #变量的声明
    name="zhangsan"
    
    #变量的调用
    echo $name
    echo ${name}
    
    #只读变量  /bin/sh:NAME:This variable is read only
    url="https://www.google.com"
    readonly url
    url="https://www.runoob.com"
    
    #删除变量
    unset name

Shell字符串

  • 字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号
  • 单引号
    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
    • 单引号字符串中不能出现单独一个单引号,但可成对出现,作为字符串拼接使用
  • 双引号

    • 双引号里可以有变量
    • 双引号里可以出现转义字符
    • #声明字符串
      str1="hello world 1"
      str2="hello world 2"
      
      #字符串拼接------双引号
      name="helloworld"
      name1="hello,"$name" !"
      name2="hello,${name} !"
      
      #字符串拼接------单引号
      passwd='123456'
      passwd1='hello, '$passwd' !'
      passwd2='hello, ${passwd} !'
      echo $passwd2
      
      #字符串的长度
      email='123456@qq.com'
      echo ${#email}
      echo ${email:1:4}

Shell数组

  • bash支持一维数组(不支持多维数组),并且没有限定数组的大小(伪数组,模拟出来的)
  • 数组元素的下标由0开始编号,获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值大于或等于0
  • #定义数组  括号来表示数组数组元素用“空格”符号隔开
    数组名=(值1 值2 ... 值n)
    favs=("足球" "篮球" "乒乓球" "保龄球")
    
    #读取数组 ${数组名[下标]}
    fav=${favs[1]}
    
    #使用 @ 符号可以获取数组中所有的元素
    echo ${favs[@]}
    
    获取数组的长度
    length1=${#favs[@]}
    length2=${#favs[*]}

Shell注释

  • 以 # 开头的行就是注释,会被解释器忽略
  • 通过每一行设置 # 号设置多行注释
  • #------------------------------------------------------
    #这是一个注释
    #author:
    #site:
    #------------------------------------------------------
    #####    服务器配置-start   #####
    #
    #
    #
    #
    #
    #####    服务器配置-end   #####
    
    
    #特殊的多行注释
    :<<EOF(end of file)
    注释内容...
    注释内容...
    注释内容...
    EOF
    
    #EOF改成abcd等任意的都可以,只是结尾也要对应上abcd等
    :<<abcd
    注释内容...
    注释内容...
    注释内容...
    abcd
    
    :<<!
    注释内容...
    注释内容...
    注释内容...
    !

Shell参数传递

  • 执行shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n(n代表一个数字)
  • 参数处理参数说明
    $#传递到脚本的参数个数
    $*以一个单字符串显示所有向脚本传递的参数
    $$脚本运行的当前进程ID号
    $!后台运行的最后一个进程的ID号
    $?显示最后命令的状态。0表示没有错误,其他任何值表示有错误
    $0执行的文件名
  • #! /bin/bash
    
    echo "shell 传递参数实例";
    echo "执行的文件名:$0";
    echo "第一个参数为:$1";
    echo "第二个参数为:$2";
    echo "第三个参数为:$3";
    echo "参数长度:$#";
    echo "所有参数:$*";
    echo "当前进程ID号:$$";
    echo "后台运行最后一个进程ID号:$!";
    echo "命令状态:$?";
    echo "结束------------";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值