• Linux入门篇(五)——Shell(一)


    这一系列的Linux入门都是本人在《鸟哥的Linux私房菜》的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解

    Linux Distribution是Ubuntu而不是书本上推荐的CentOS,建议装双系统,不要使用虚拟机。

    代码在github上:Linuxpractice

    其他内容:

    Linux入门篇(一)——基本命令

    Linux入门篇(二)——文件

    Linux入门篇(三)——文件与目录

    Linux入门篇(四)——Vim的使用与Bash

    Shell

    一、shell的变量功能

    • 变量的显示 $ echo
    • 变量的修改 $ 变量名=变量值
    • 环境变量功能: $ env 可以列举出当前shell环境下所有的环境变量。

    环境变量的举例:

    • HOME:代表主文件夹
    • SHELL:目前环境代表的shell程序
    • HISTSIZE:可纪录的历史命令的条数
    • MAIL:读取的邮件文件
    • PATH:执行文件查询路径
    • LANG:语系数据
    • RANDOM:随机数变量

    变量的有效范围:一般情况下,父进程的自定义变量无法在子进程内使用,除非通过export将其变为环境变量,否则就是自定义变量。(与内存分配的记忆块有关)

    • read 读取来自键盘输入的变量: $ read [-pt] variable
    • declare和typeset是一样的功能用来声明:$ declare [-aixr] variable

                          -a: variable为数组类型

                          -i: variable为integer类型

                          -x:用法与export一致

                          -r:变量设置为readonly,只读类型,不可以修改

    数组变量类型:array

    • 设置方法:   $ var [index]=context  bash的数组下标是从0开始的。

              数组名 下标  变量值

    • 读取方式: $ echo ${var[1]}

    变量内容的删除、替换:

    •    变量设置方法                      说明

        ${变量#关键字}           若变量内容从头开始数据符合”关键字“,则将符合的最短数据删除。

        ${变量##关键字}              若变量内容从头开始数据符合”关键字“,则将符合的最长数据删除。

        ${变量%关键字}             若变量内容从尾开始数据符合”关键字“,则将符合的最短数据删除。

        ${变量%%关键字}          若变量内容从尾开始数据符合”关键字“,则将符合的最长数据删除。

        ${变量/旧字符串/新字符串}            替换第一个符合的字符串。

        ${变量//旧字符串/新字符串}             替换全部符合的字符串。

    •   变量的测试与内容的替换

          new_var=${old_var-content}

      新变量    关键字 旧变量 变量内容

    三、Bash Shell操作环境

    一个命令被执行时,命令执行的顺序是:

    • 以相对/绝对路径执行命令。
    • 由alias找到该命令并执行。
    • 由bash内置的(builtin)命令执行。
    • 通过$PATH变量的顺序找到第一个来执行。
  • 相关阅读:
    fork-vfork -exit&_exit
    drop_cache-sar
    性能问题eg
    性能工具-mem
    性能工具-io工具
    linux后台开发常用调试工具
    GDB的原理
    可变参数以及stdcall
    linux 中断softirq tasklet
    linux kernel RCU 以及读写锁
  • 原文地址:https://www.cnblogs.com/winterfells/p/8242486.html
Copyright © 2020-2023  润新知