• shell---0-day


    命令解释


     chmod +x 赋予可执行权限

    绿色文件: 可执行文件,可执行的程序  

    红色文件:压缩文件或者包文件

    蓝色文件:目录

    白色文件:一般性文件,如文本文件,配置文件,源码文件等 

    浅蓝色文件:链接文件,主要是使用ln命令建立的文件

    红色闪烁:表示链接的文件有问题

    黄色:表示设备文件

    灰色:表示其他文件

    #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。./表示当前目录

    #!/bin/bash
    echo "Hello World !"
    chmod +x test.sh
    ./test.sh

     Shell 变量 

    定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:

    your_name="runoob.com"
    规则:

    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

    • 中间不能有空格,可以使用下划线(_)。

    • 不能使用标点符号。

    • 不能使用bash里的关键字(可用help命令查看保留关键字)。

     使用变量

    使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

    your_name="qinjx"
    echo $your_name
    echo ${your_name}

    变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界

    只读变量

    只读变量的值不可以改变

    #!/bin/bash
    myUrl="https://www.google.com"
    readonly myUrl

    获取字符串长度

    name="hello,tana"
    echo ${#name}
    10
    #
    提取子字符串
    echo ${name:1:4}
    ello

    定义数组

    array_name=(value0 value1 value2 value3)
    #读取数组
    ${数组名[下标]}

    (base) [root@localhost Tana]# echo ${array_name}[1]
    value0[1]

    #使用 @ 符号可以获取数组中的所有元素,例如:
    echo ${array_name[@]}

    (base) [root@localhost Tana]# echo ${array_name[@]}
    value0 value1 value3

    # 取得数组元素的个数
    length=${#array_name[@]}
    # 或者
    length=${#array_name[*]}
    # 取得数组单个元素的长度
    lengthn=${#array_name[n]}

     Shell 运算符

    expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

    例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):

    #!/bin/bash
    
    val=`expr 2 + 2`
    echo "两数之和为 : $val"
    
    两数之和为 : 4

    注意三点:

    • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
    • 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。
    • 条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]
  • 相关阅读:
    The Worm Turns
    Equations
    Snail’s trouble
    WuKong
    Codeforces 369 C Valera and Elections
    POJ 2186 Popular Cows
    Codefroces 366 D Dima and Trap Graph (最短路)
    Codefroces 366 C Dima and Salad(dp)
    Codefroces 374 B Inna and Sequence (树状数组 || 线段树)
    Codeforces 374 C Inna and Dima (DFS)
  • 原文地址:https://www.cnblogs.com/yan-2010/p/14266615.html
Copyright © 2020-2023  润新知