2020-10-11学习笔记

  1. shell脚本格式
    脚本声明 #!/bin/bash
    脚本注释#
    脚本命令 echo "hello"
  2. 系统中可用的shell cat /etc/shells
  3. 执行能够chmod +x test.sh 或者 bash test.sh
  4. shell脚本第一步是接受,第二步是判断
  5. 接受用户输入的参数:shell内部已经内设了接收参数的变量,变量之间用空格隔开,
    $0 表示当前shell脚本的名称
    $# 表示总共有几个参数
    $* 对应全部位置的参数值
    $? 对应上一次命令执行返回值(为0则执行成功,其余则执行失败)
    $1 , $2 ,$3 ……对应第N个位置的参数值
  6. 判断用户的参数 [ 条件表达式 ] #注意两边都有空格
    6.1 文件测试参数
    -d 测试文件是否为目录类型
    -e 测试文件是否存在
    -f 判断是否为通常文件
    -r 测试当前用户是否有权限读取
    -w 测试当前用户是否有权限写入
    -x 测试当前用户是否有权限执行shell

    6.2 逻辑语句符号
    && 逻辑与
    || 逻辑或
    ! 逻辑非 [ !USER=root ] #当前帐户不是rootvim

    6.3 整数比较运算符号;
    -eq 是否等于
    -ne 是否不等于
    -gt 是否大于
    -lt 是否小于
    -le 是否等于或者小于
    -ge 是否等于或者大于
    [ 10 -gt 9 ] 10大于9 bash

    6.4 字符串比较运算符
    = 比较字符串内容是否相同
    != 比较字符串内容是否不一样
    -z 判断字符串内容是否为空 # [ -z $HAHA ] 使用变量前能够测试是否有人已经用了这个变量名称ide

  7. 流程控制语句
    7.1 if语句
    ping -c 8 -i 0.1 -W 10 $1 &> /dev/null
    #ping一个地址,尝试ping8次,每次间隔0.1秒,等待超时10秒($1表示第一个参数,其实就是ip地址),无论是否成功输出都写入/dev/null
    if [ $? -eq 0 ]
    echo "host is online"
    then
    else
    echo "host is offline"
    fi学习

    if (单/双/多)
    then
    elif
    then
    else
    fi测试

    7.2 for条件循环语句(考试)
    touch user.txt #文件中写入几个用户名称
    zhangsan
    lisi
    wangwu
    zhaoliucode

    vim user.sh
    #!/bin/bash
    #useradd
    for UNAME in cat user.txt #设置UNAME为user.txt中的用户名称
    do
    id $UNAME &> /dev/null
    if [ $? -eq 0 ]
    then
    echo " user is already exists "
    else
    then
    useradd $UNAME &> /dev/null
    echo " $PASSWD " | passwd --stdin $UNAME &> /dev/null
    fi
    doneip

    7.3 while条件循环语句
    while 条件测试操做
    do 命令
    done字符串

7.4 case条件测试语句it

case 变量值in
模式1)
命令序列1
;;
模式2)
命令序列2
……
esac

2020-10-11学习笔记

相关文章
相关标签/搜索