zoukankan      html  css  js  c++  java
  • 用法

    #####################################################################################
    1、shell脚本比较两个数字的大小
       要求:让用户输入2个数字,比较他们的大小
       
    read -p "请输入第一个数字a:"   a
    read -p "请输入第一个数字b:"   b
    
    if结构
    ##############################
    if  条件;then
        语句块
    else
        语句块
    fi
    
    
    [  $a  比较符   $b  ]
    
    -eq       等于       equal
    -ne       不等于     not  equal
    
    -gt       大于       greater than
    -lt       小于       less  than
    
    -ge       大于等于   greater than or equal
    -le       小于等于   less than or equal
    
    
    if  条件1;then
        语句块
    elif  条件2;then
         语句块 
    elif  条件3;then
         语句块 
    else
        语句块
    fi
    
    
    read -p "输入第一个数字A:" a
    read -p "请输入第二个数字B:" b
    
    if [ $a -gt  $b ];then 
       echo "A大于B"
    elif [ $a -lt $b  ];then 
       echo "A小于B"
    else
       echo "A等于B"
    fi
    
    
    
    
    变量的定义>>>>>>>>
    a=6
    
    变量的引用>>>>>>>>>>>>>
    echo $a 
    echo ${a}
    
    echo  $变量名
    
    
    $?          //特殊的变量,代表的上一条命令的  执行状态码,执行退出码   
                  当$?为0时,证明上一条命令执行成功,或者为真  
                  当$?为非0的时候,代表一上条命令执行失败,或者为假
    			  
    ####################################################################################
    if  条件1;then
        语句块
    elif  条件2;then
         语句块 
    elif  条件3;then
         语句块 
    else
        语句块
    fi
    
    
    ################################################
    数字的计算
    1、bc命令
       echo  1+2 |bc
       a=2 ;  b=5    ;echo $a+$b |bc 
    
    echo  6+4  |bc
    echo  6-4  |bc
    echo  6*4  |bc
    echo  6/4  |bc           ##结果1 代表整除
    echo  6%4  |bc           ##求余
    echo  2^3  |bc           ##2的3次方
    echo "sqrt(25)" |bc      ##求平方根
    
    
    [root@jw40 opt]# echo "scale=3;10/3" |bc
    3.333 
    
    上网搜索使用bc命令进行  进制的转换
    
    
    echo命令   -n   不换行
    
    
    
    
    2、expr命令
    
    expr   6 + 4      求和    //一定要注意表示式之间的空格
    expr   6 - 4      求差
    expr   6 / 4      求商
    expr   6 * 4     求积
    expr   6  % 4     求余
    
    
    
    echo  1+2的值为   expr 1 + 2             //会输出   1+2的值为   expr 1 + 2    
    echo  1+2的值为   `expr 1 + 2`           //这样会先输出   1+2的值为  3    (不会输出expr 1 + 2,而是输出expr 1 + 2命令的执行结果)
    
    注意反引号的作用(制表键的上面、数字1的左边那个键)
    
    反引用的作用..........................
    
    还有一个符号和反引号的作用一样  $()
    
    `linux命令`    ==    $(linux命令)
    
    
    
    3、第三个命令  $(())
    
    echo   $((1+2))
    echo   $((1-2))
    echo   $((1*2))
    echo   $((1/2))
    echo   $((1%2))
    
    
    4、第四个命令 $[ ]    这个和$(())用法是一模一样的
    
    
    
    5、let 命令
    let sum=1+2
    echo $sum
    
    
    
    
    
    ############################################################
    数组
    数组的定义
    arry=(元素1   元素2   元素3....)
            0       1       2.....
    
    echo ${arry[索引]}
    
    如arry=(a b c d)
    echo ${arry[0]           //a
    echo ${arry[1]           //b
    echo ${arry[*]           //查看所有的元素
    
    
    
    
    作业1、写一个脚本、让用户输入2个数字,计算他们的和、差、商、积、余
    作业2、写一个脚本、能在每次执行的时候都输出一个随机范围的数字[1-39]
    作业3、写一个脚本、将班上的学生定义到数组,每次执行的时候、都能随机输出一个学生的学号及姓名
           12号  张三
    
    
    
    取随机数

    a=$(($RANDOM%39+1))

    echo $a

    1、写一个脚本,在脚本后面指定的一个参数n,就能随机输出n个学生名
    
    2、使用for语句,将/etc/yum.repos.d,里的文件、除了CentOS-Media.repo,其他的全部加上.bak [原理可以参考,想办法优化]
    
    #!/bin/bash
    #
    #进入/etc/yum.repos.d目录
    cd /etc/yum.repos.d
    ##使用for语句依次更改每一个文件名字
    for a in CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo;do
    mv $a $a.bak
    done
    
    ####附加
    将所有有.bak的文件名后的.bak去掉
    
    3、使用for语句,计算1+2+..+20的值
    4、写一个脚本、输入如下效果
    0
    01
    012
    0123
    01234
    012345
    0123456
    01234567
    012345678
    0123456789
    
    ####################################(附加)
    0
    101
    21012
    3210123
    432101234
    
    5、写一个九九乘法表
    
    
    
    程序的美化,echo带颜色的输出
    
    echo  -e    开启转义输出
    
    
       换行 
    	   一个制表符
    
    echo -e "e[1;33m  内容   e[0m"
    
    颜色通过
    33m,值的范围30m ---  37m
  • 相关阅读:
    systemd管理服务
    卷积神经网络
    matplotlib-3.2.1
    pandas-1.0.3
    numpy-1.18.4
    降维
    无监督学习-聚类
    集成学习
    人工神经网络
    贝叶斯分类
  • 原文地址:https://www.cnblogs.com/hywhyme/p/6115340.html
Copyright © 2011-2022 走看看