码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • shell基础篇:Bash特性和shell变量


    shell基础篇

    • 一、Bash特性
      • bash基础特性
      • 关于历史记录的简单用法
      • bash特性汇总
    • 二、shell变量
      • 变量含义
      • shell变量名规则
      • 定义shell变量
      • 变量替换/引⽤
      • 变量的作⽤域


    一、Bash特性

    bash基础特性

    ● bash是一 个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令
    ● bash还能从文件中读取linxu命令,称之为脚本
    ● bash支持通配符、 管道、命令替换、条件判断等逻辑控制语句

    关于历史记录的简单用法

    bash有诸多⽅便的功能,有助于运维⼈员提升⼯作效率

    history #命令,查看历史命令记录,注意【包含⽂件中和内存中的历史记录】
    在这里插入图片描述
    最多能看到1000行
    在这里插入图片描述

    ~/.bash_history里存放用户执行的历史命令
    我们可以vim ~/.bash_history查看一下

    echo $HISTFILE可以看到文件的地址
    在这里插入图片描述

    history #命令 以及参数
    -c: 清空内存中命令历史;
    -r:从⽂件中恢复历史命令
    数字 :显示最近n条命令 history 10
    在这里插入图片描述
    这时候我们history,发现历史被清空了

    但是~/.bash_history里的历史还是存在的,所以我们可以用
    history -r ~/.bash_history
    进行恢复
    在这里插入图片描述

    调用历史记录命令
    !历史id,快速执行历史命令
    在这里插入图片描述

    !!可以用来执行上次的命令,或者用上方向键来执行上次命令
    在这里插入图片描述

    bash特性汇总

    • ⽂件路径tab键补全
    • 命令补全
    • 快捷键ctrl + a,e,u,k,l
    • 通配符
    • 命令历史
    • 命令别名
    • 命令⾏展开

    二、shell变量

    变量含义

    变量是暂时存储数据的地⽅,是⼀种数据标记(房间号,标记了客⼈所在的位置),数据存储在内容空间,通过调⽤正确的变量名字,即可取出对应的值。

    shell变量名规则

    名称定义要做到⻅名知意,切按照规则来,切不得引⽤保留关键字(help检查保留字)

    • 只能包含数字、字⺟、下划线
    • 不能以数字开头
    • 不能⽤标点符号
    • 变量名严格区分⼤⼩写

    例:
    有效的变量名:
    NAME_CHAOGE
    _chaoge
    chaoge1
    chaogE1
    Chao2_ge
    ⽆效的变量名:
    ?chaoge
    chao*ge
    chao+ge

    定义shell变量

    单引号变量,不能识别特殊语法
    双引号变量,能识别特殊符号

    变量定义与赋值,注意变量与值之间不得有空格

    name="wang"
    变量名
    变量类型,bash默认把所有变量都认为是字符串
    
    bash变量是弱类型,⽆需事先声明类型,是将声明和赋值同时进⾏
    
    • 1
    • 2
    • 3
    • 4
    • 5

    变量替换/引⽤

    echo $name #可以省略花括号
    
    • 1

    在这里插入图片描述

    变量的作⽤域

    本地变量,只针对当前的shell进程

    pstree  #检查进程树
    
    • 1

    在这里插入图片描述

    • 环境变量,也称为全局变量,针对当前shell以及其任意⼦进程,环境变量也分⾃定义 、内置两种环境变量
    • 局部变量,针对在 shell函数 或是 shell脚本 中定义

    ⾃定义变量

    变量赋值: varName=value
    变量引⽤: ${varName} 、 $varName
    单引号,识别为普通字符串
    
    • 1
    • 2
    • 3

    在这里插入图片描述

  • 相关阅读:
    3d场景重建&图像渲染 | 神经辐射场NeRF(Neural Radiance Fields)
    夜神模拟器+Fiddler抓包测试App
    工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计
    C++异常处理throw try catch
    国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书
    HTML期末大作业:基于HTML+CSS+JavaScript新能源汽车资讯门户网站
    【RocketMQ】顺序消息实现总结
    天津市行政村边界数据/乡镇街道边界数据/行政区划边界分布
    【数据结构与算法】LinkedList与链表(上)
    解决0-1背包问题(方案一):二维dp数组
  • 原文地址:https://blog.csdn.net/m0_61689418/article/details/134179793
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号