zoukankan      html  css  js  c++  java
  • shell学习(1)

    #!/bin/bash
    #######read从屏幕输入########
    echo "what is your name?"
    read PERSON
    echo "Hello, $PERSON"
    author="yangjiao"
    echo $author
    ######$1,$2获取的参数顺序##########
    skill="Java"
    echo "I am good at ${skill}Script"
    echo "Language:$1"
    echo "URL:$2"
    ###########命令替换两种方式,一种是反引号``,一种是$()#######
    ##########var_name=`command` 或 var_name=$(command)####
    DATE_01=`date`
    DATE_02=$(date)
    echo $DATE_01
    echo $DATE_02
    LSL=`ls -l`
    echo "$LSL"
    #########$()嵌套###########
    Fir_File_Lines=$(wc -l $(ls | sed -n '1p'))
    echo $Fir_File_Lines
    
    ########echo的使用 #######
    ####默认会换行,不希望换行,可以加上-n参数####
    name="Tom"
    age=20
    height=175
    weight=62
    echo -n "${name} is ${age} years old "
    echo -n "${height}cm in height "
    echo "and ${weight}kg in weight "
    echo "Thank you"
    ####默认不会解析以反斜杠开头的转义字符,要当成普通字符,得需要加-e####
    echo -e "hello 
    world"
    
    ############数组的使用##########
    #####用()表示数组,数组元素之间用空格来分割,不支持多维数组#########
    nums=(29 30 42)
    ##########弱类型,并不要求所有数组元素的类型必须相同######
    arr=(20 56 "test" "www.baidu.com")
    echo ${nums[1]}
    ########用@或*可以获取数组中的所有元素###########
    echo ${nums[*]}
    echo ${arr[*]}
    echo ${nums[@]}
    echo ${arr[@]}
    ########获取数组长度,利用@或*将数组扩展成列表,然后使用#来获取数组元素的个数####
    echo ${#nums[*]}
    echo ${#nums[@]}
    ########如果某个元素是字符串,可以通过指定下标获取该元素的长度########
    nums[5]="360.cn"
    array_new=(${nums[*]} ${arr[*]})
    echo ${array_new[*]}
    ########删除数组元素############
    unset nums[0]
    echo ${nums[*]}
    unset nums
    echo ${nums[*]}
    
    ############字符串的使用##############
    #####单引号不解析字符串,双引号解析字符串######
    #####字符串拼接直接放在一起即可,简单粗暴######
    n=74
    str1=www.baidu.com$n
    str2="shell "script" $n"
    str3='c语言中文网$n'
    echo $str1
    echo $str2
    echo $str3
    ####获取字符串长度########
    str="http://www.baidu.com"
    echo ${#str}
    #######字符串截取#########
    ######从字符串左边开始计数 ${string:start:length}############
    myurl="c.biancheng.net"
    echo ${myurl:2:9}
    ######如果省略length,截取到字符串末尾################
    echo ${myurl:2}
    ######从右边开始计数 $(string: 0-start: length),从右边开始计数,起始数字是1,截取方向是从左到右######
    echo ${myurl:0-13:9}
    echo ${myurl:0-13}
    #####字符串截取###############
    #####使用#号可以截取指定字符(或者子字符串)$(string#*chars)############
    #####其中,string 表示要截取的字符,chars 是指定的字符(或者子字符串),*是通配符的一种,表示任意长度的字符串。*chars连起来使用的意思是:
    忽略左边的所有字符,直到遇见 chars(chars 不会被截取)###########
    echo ${str#*:}
    echo ${str#*p:}
    #####如果有相同的,匹配到第一个结束######
    echo ${str#*/}

     参考文档 http://c.biancheng.net/view/739.html

  • 相关阅读:
    Error 500curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used i
    解决Apache提示没有权限访问的问题
    【服务器】本地运行成功,但服务器上运行却显示错误500
    CentOS 7中PHP配置文件php.ini的放在哪个位置
    用yum快速搭建LAMP平台
    redis 在32位系统安装以及使用
    CentOS7查看和关闭防火墙
    CENTOS7下安装REDIS
    在centos和redhat上安装docker
    Annotation 注解
  • 原文地址:https://www.cnblogs.com/kumufengchun/p/10043168.html
Copyright © 2011-2022 走看看