首页 > 系统相关 >Linux,shell基础,变量,数值运算

Linux,shell基础,变量,数值运算

时间:2024-11-05 08:51:15浏览次数:6  
标签:脚本 解释器 shell 运算 Linux 执行 bash 变量

linux
一.shell基础
    1.什么是shell
        在linux内核与用户之间的解释器程序,通常指/bin/bash
    2.shell的使用方式
        1.交互式
        2.非交互式
    3.Bash基本特征
        1.快捷键
        2.历史命令
        3.重定向
        4.管道
        5.别名
    4.shell脚本
        1.规范脚本构成
            (1) #!指定解释器
            (2) # 注释信息(作者信息,步骤,思路,用途,变量等)
            (3)可执行语句
        2.执行脚本
            (1)直接执行:/脚本路径/脚本名,前提是有x权限
            (2)没有权限,使用解释器执行(解释器有权限)
                解释器 + 脚本
                bash执行脚本:开子进程执行,bash-bash
                source执行脚本:不开子进程执行
        3.排错模式
            解释器 -x
二.变量
    1.变量分类
        1.环境变量:变量名通常都大写,由系统维护,用来设置工作缓解,只有个别变量用户可以直接更改
            (1)配置文件
                /etc/profile  ~/.bash_profile
            (2)相关操作
                env:列出所有的环境变量
                set:列出所有变量
            (3)常见的环境变量
                PWD,PATH,USER,HOSTNAME...
                PATH:命令的搜索路径
        2.位置变量:bash内置,用来存储执行脚本是提供的参数,类似于传参
            (1)表示位$n,n为序号:$1,$2,...,${10}
        3.预定义变量:bash内置,存一类有特殊用途的变量,可直接调用但是不能直接修改赋值
            (1)用来保存脚本程序的执行信息
            (2)直接使用这些变量
            (3)不能直接为这些变量赋值
                $0:当前所在的进程或脚本名
                $$:当前运行进程的PID号
                $?:命令执行后的返回状态,0表示正常,1或其它值表示异常
                $#:已加载的位置变量的个数
                $*或$@:所有位置变量的值
                $!:后台最后一个进程的PID号
        4.自定义变量:用户自主设置,修改及使用
            (1)数字字母下划线组成,不能以数字,特殊符号开头,等号两边不能有空格
            (2)区分变量名用{a}分隔
    2.变量值及范围控制
        1.扩展赋值操作	
            (1)双引号"":允许扩展,以$引用其它变量
            (2)单引号'':禁止扩展,即便$也视为普通字符
            (3)反撇号``=$(命令):将`命令`的执行输出
        2.read标准输入取值(自己输入数据给变量赋值)
            read:从键盘读入变量值完成赋值
            read [-p "提示信息"] 变量名
        3.stty终端显示
            (stty -echo):不显示信息
            (stty echo):显示信息
        4.变量的作用范围
            (1)局部变量:只在当前的shell环境有效(bash进程)
                export -n 名,取消全局变量
            (2)全局变量:在所有shell环境中均有效
                export 名,设置全局变量
三.数值运算
    1.计算符号
        +,-,*,/(取整),%(取余)	
    2.计算格式
        (1)整数计算
            1.$[]或者$(()):如果括号里面有变量,变量的$取值可以省略
            2.let:只算不显示,i=1 ,let i+=1,echo $i=2
        (2)小数计算:bc
            echo "scale=2;10.0/3" | bc :sacle表示保留小数点后几位
  • 一.shell基础
    • 1.什么是shell
      • 在linux内核与用户之间的解释器程序,通常指/bin/bash
    • 2.shell的使用方式
      • 1.交互式
      • 2.非交互式
    • 3.Bash基本特征
      • 1.快捷键
      • 2.历史命令
      • 3.重定向
      • 4.管道
      • 5.别名
    • 4.shell脚本
      • 1.规范脚本构成
        • (1) #!指定解释器
        • (2) # 注释信息(作者信息,步骤,思路,用途,变量等)
        • (3)可执行语句
      • 2.执行脚本
        • (1)直接执行:/脚本路径/脚本名,前提是有x权限
        • (2)没有权限,使用解释器执行(解释器有权限)
          • 解释器 + 脚本
          • bash执行脚本:开子进程执行,bash-bash
          • source执行脚本:不开子进程执行
      • 3.排错模式
        • 解释器 -x
  • 二.变量
    • 1.变量分类
      • 1.环境变量:变量名通常都大写,由系统维护,用来设置工作缓解,只有个别变量用户可以直接更改
        • (1)配置文件
          • /etc/profile ~/.bash_profile
        • (2)相关操作
          • env:列出所有的环境变量
          • set:列出所有变量
        • (3)常见的环境变量
          • PWD,PATH,USER,HOSTNAME...
          • PATH:命令的搜索路径
      • 2.位置变量:bash内置,用来存储执行脚本是提供的参数,类似于传参
        • (1)表示位$n,n为序号:$1,$2,...,${10}
      • 3.预定义变量:bash内置,存一类有特殊用途的变量,可直接调用但是不能直接修改赋值
        • (1)用来保存脚本程序的执行信息
        • (2)直接使用这些变量
        • (3)不能直接为这些变量赋值
          • $0:当前所在的进程或脚本名
          • $$:当前运行进程的PID号
          • $?:命令执行后的返回状态,0表示正常,1或其它值表示异常
          • $#:已加载的位置变量的个数
          • $*或$@:所有位置变量的值
          • $!:后台最后一个进程的PID号
      • 4.自定义变量:用户自主设置,修改及使用
        • (1)数字字母下划线组成,不能以数字,特殊符号开头,等号两边不能有空格
        • (2)区分变量名用{a}分隔
    • 2.变量值及范围控制
      • 1.扩展赋值操作
        • (1)双引号"":允许扩展,以$引用其它变量
        • (2)单引号'':禁止扩展,即便$也视为普通字符
        • (3)反撇号``=$(命令):将`命令`的执行输出
      • 2.read标准输入取值(自己输入数据给变量赋值)
        • read:从键盘读入变量值完成赋值
        • read [-p "提示信息"] 变量名
      • 3.stty终端显示
        • (stty -echo):不显示信息
        • (stty echo):显示信息
      • 4.变量的作用范围
        • (1)局部变量:只在当前的shell环境有效(bash进程)
          • export -n 名,取消全局变量
        • (2)全局变量:在所有shell环境中均有效
          • export 名,设置全局变量
  • 三.数值运算
    • 1.计算符号
      • +,-,*,/(取整),%(取余)
    • 2.计算格式
      • (1)整数计算
        • 1.$[]或者$(()):如果括号里面有变量,变量的$取值可以省略
        • 2.let:只算不显示,i=1 ,let i+=1,echo $i=2
      • (2)小数计算:bc
        • echo "scale=2;10.0/3" | bc :sacle表示保留小数点后几位

标签:脚本,解释器,shell,运算,Linux,执行,bash,变量
From: https://blog.csdn.net/qq_50655286/article/details/143499458

相关文章

  • linux内存管理学习总结
    一、内存寻址1.1逻辑地址、线性地址、物理地址的概念1.2逻辑地址转换线性地址步骤1.3线性地址到物理地址的转换二、内存管理2.1引导内存分配器阶段2.2内存管理子系统2.332位架构的地址空间划分2.464位架构的地址空间划分2.5内核态的内存管理2.6用户态内存管理......
  • 一文了解Android SELinux
    在Android系统中,SELinux(Security-EnhancedLinux)是一个增强的安全机制,用于对系统进行强制访问控制(MandatoryAccessControl,MAC)。它限制了应用程序和进程的访问权限,提供了更高的安全性,以防止未经授权的访问。SELinux的引入是为了提升Android系统的安全防护能力,尤其是在面对......
  • vitis2024.1创建Linux应用
    环境安装软件下载路径环境vitis2024.1ubutnu22.04简介一般使用pretalinux编译后的文件,制作为文件系统后,在/usr/bin/找到编译后的可执行程序。首先我的开发板已经使用petalinux2024.1制作好了系统,硬件层面也使用vivado2024.1做好了配置,网络连接没有问题,后续的程......
  • 【linux应用】在Linux里如何把一个已经登录的用户踢出去
    原创老段工作室我在两个终端下都用tom登录了vms72这台机器一个是直接在虚拟机控制台登录的,下图1的位置,终端编号为tty1另一个是通过xshell登录的,下图标记为2的位置,终端编号为pts/0断开一个用户的会话的语法是:pkill-kill-t终端编号所以我现在想把虚拟机里的那个tom登......
  • 【bypass系列】绕过命令过滤器:探索Unix/Linux中的Bypass技术
    原创visionsec安全视安免责声明该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。在Unix或Linux系统的安全测试和网络防御中,了解如何绕过命令过滤器是非常重要的。今天,我们将探讨......
  • linux中umask值计算与配置
     计算原理将目录或文件的默认最高权限(目录777、文件666)和umask掩码值都转换为二进制。对umask取反。将两个二进制值做与运算。将与运算后的二进制值转换为十进制,即为用户的新建目录或文件的默认权限。注:此处最高权777、666仅在运算过程中定义,非实际文件权限目录场景......
  • Linux系统压力测试工具(命令行工具)
    Linux的命令行压力测试工具在做基准测试时很有用,通过基准测试对了解一个系统所能达到的最大性能指标,这些指标可以作为后续性能比较、优化评估的参考依据。模拟CPU压力:可以使用stress命令使CPU处于高负载状态。例如,通过stress-c4命令(-c选项用于指定CPU核心数),会让系统的4个CPU核......
  • Linux分区方案、分区建议
    一、Linux分区方案介绍1.标准分区:标准分区可以包含文件系统或交换空间,也能提供一个容器,用于软件RAID和LVM物理卷。2.BTRFS:Btrfs是一个具有几个设备相同的特征的文件系统。它能够处理和管理多个文件,大文件和大体积比的ext2,ext3和ext4文件系统。3.LVM(逻辑卷):创建一个LVM分区自动生......