美文网首页
每天学习一个shell技能 (1)

每天学习一个shell技能 (1)

作者: 浮生随笔 | 来源:发表于2018-07-30 17:04 被阅读11次

    每天学习一个shell技能 (1)

    准备

    bash 环境位置

    #!/bin/bash
    

    #! 一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell

    运行shell

    1. 作为可执行程序

      chmod +x ./mybash.sh
      ./mybash.sh
      
    2. 作为解释器参数

    /bin/bash test.sh
    /bin/php test.php
    // 如果这样运行,文件内的第一行就可以不需要指定 解释器信息了
    

    pwd

    1. 命令简介

      pwd :打印当前目录 ,命令以 绝对路径 的形式显示用户的 当前工作目录

    2. 用法

      pwd [-LP]

    变量

    定义变量

    • 定义变量时 不需要制定 $符号
    • 变量名和值、等号之间不能有空格

    命名规范:

    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
    • 中间不能有空格,可以使用下划线(_)
    • 不能使用标点符号
    • 不能使用bash里的关键字(可用help命令查看保留关键字)
    user_name='kael linda'
    

    使用变量

    使用时,变量名前面加上$符号即可

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

    花体括号 加不加都行,视情况而定。
    加是为了区分变量边界

    user_name="kaelinda"
    echo  "I'm ${user_name}' brother"
    

    只读变量

    user_name="kaelinda"
    readonly user_name
    user_name="kael"
    

    删除变量

    unset variable_name
    
    • 删除变量删除之后的变量不可再使用
    • unset 命令不能删除只读变量

    变量类型

    • 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
    • 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
    • shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

    shell 字符串

    单引号

    str='this is a string'
    
    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
    • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)

    双引号

    your_name='qinjx'
    str="Hello, I know your are \"$your_name\"! \n"
    
    • 双引号里可以有变量
    • 双引号里可以出现转义字符

    拼接字符串

    your_name="qinjx"
    greeting="hello, "$your_name" !"
    greeting_1="hello, ${your_name} !"
    

    获取字符串长度

    string="abcd"
    echo ${#string} #输出 4
    

    提取字符串

    string="runoob is a great site"
    echo ${string:1:4} # 输出 unoo
    

    查找字符串位置

    string="runoob is a great company"
    echo `expr index "$string" is`  # 输出 8
    

    以上脚本中 "`" 是反引号,而不是单引号 "'",不要看错了. 这是用了正则表达式匹配字符

    相关文章

      网友评论

          本文标题:每天学习一个shell技能 (1)

          本文链接:https://www.haomeiwen.com/subject/gkgfvftx.html