• Shell脚本编程入门(一) 分类: 学习笔记 linux ubuntu 2015-07-09 21:06 29人阅读 评论(0) 收藏


    最近在学shell,记录一下。

    if语句的使用:


    1.判断两个参数大小


    #!/bin/sh
    #a test about if statement
    a=10
    b=20
    if [ $a -eq $b ];then
    echo "parameter a is equal to parameter b"
    elif [ $a -le $b ];then
    echo "parameter a is less than parameter b"
    elif [ $a -gt $b ];then
    echo "parameter a is greater than parameter b"
    else
    echo "i don't know the result!"
    fi

    2.执行脚本时动态传递参数

    $1、$2、$3...分别代表接收到的参数
    $0 表示程序的名称
    $#  传递给程序的总的参数数目  
    $? 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值
    $*  传递给程序的所有参数组成的字符串
    $@ 以"参数1" "参数2" ... 形式保存所有参数   
    $$ 本程序的(进程ID号)PID   
    $!  上一个命令的PID

    脚本

    #!/bin/sh
    #a test about if statement
    a=$1
    b=$2
    if [ $a -eq $b ];then
    echo "parameter a is equal to parameter b"
    elif [ $a -le $b ];then
    echo "parameter a is less than parameter b"
    elif [ $a -gt $b ];then
    echo "parameter a is greater than parameter b"
    else
    echo "i don't know the result!"
    fi

    执行效果:
    这里写图片描述


    3.for循环的使用


    #!/bin/bash
    #a test about for and while statement
    for i in {1..5}
    do
     echo "hello world"$i
    done

    注意:这里sh不支持这种写法,要用bash来运行

    sh支持这种写法:

    #!/bin/sh
    #a test about for and while statement
    for i in 1 2 3 4 5
    do
     echo "hello world"$i
    done

    4.在/root/test/test2文件夹中创建100文件夹,名称为test1~test100


    #!/bin/bash
    #create 100 folder in /root/test/test2
    for i in {1..100}
    do
    `mkdir ./test2/test$i`
    done

    这里写图片描述


    5.编写乘法表,根据输入参数来输出某个数的乘法表


    #!/bin/bash
    for((i=1;i<=$1;i++)){
        for((j=1;j<=${i};j++)){
           ((ret=${i}*${j}))
           echo -ne ${i}*${j}=$ret"	" 
        }
        echo
    }

    注意:参数中的-n表示输出后不换行,e表示支持转义字符

    运行效果:
    这里写图片描述

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    burp用命令行一键启动出现错误“a java exception has occurred”的解决
    fofa语法
    使用LaZagne获取各种密码
    获取网站ico图标以及使用shodan的http.favicon.hash方法搜同ico站点
    使用nmap-converter.py整理nmap导出的xml记录为xls文件
    使用wafw00f工具识别waf类型
    反射型XSS中的POST型复现
    锐捷统一上网行为管理与审计系统信息泄露漏洞复现(CNVD-2021-14536)
    软件工程 数组
    c语言4
  • 原文地址:https://www.cnblogs.com/lenve/p/4637543.html
Copyright © 2020-2023  润新知