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

news/2024/11/8 4:04:47 标签: linux, 服务器, 云计算
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表示保留小数点后几位

http://www.niftyadmin.cn/n/5743211.html

相关文章

i2c-tools 4.3 for Android 9.0

i2c-tools 4.3 Android 9.0下编译i2c-tools 4.3 下载源码 cd external wget https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/i2c-tools-4.3.tar.gz tar -zxvf i2c-tools-4.3.tar.gz 增加Android.mk Android.mk LOCAL_PATH : $(call my-dir)include $(C…

Proteus中数码管动态扫描显示不全(已解决)

文章目录 前言解决方法后记 前言 我是直接把以前写的 51 数码管程序复制过来的,当时看的郭天祥的视频,先送段选,消隐后送位选,最后来个 1ms 的延时。 代码在 Proteus 中数码管静态是可以的,动态显示出了问题——显示…

[spring源码]spring配置类解析

解析配置类 在启动Spring时,需要传入一个AppConfig.class给ApplicationContext,ApplicationContext会根据AppConfig类封装为一个BeanDefinition,这种BeanDefinition我们把它称为配置类BeanDefinition AnnotationConfigApplicationContext a…

Vue3版本的uniapp项目运行至鸿蒙系统

新建Vue3版本的uniapp项目 注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行; 按照如下图片点击,快速升级皆可。 通过HbuilderX创建 官方文档指导链接 点击HbuilderX中左上角文件->新建->项目 创建vue3…

Git通讲-第二章(2):对象数据库

前言 理解了上篇文章的两大模型(快照和不可变对象)后,让我们看看Git 的核心——对象数据库,快照存储在 .git/objects 目录中,Git 通过这种方式管理项目的所有历史和数据。 Git对象数据库 下面是 .git/objects 目录的…

ac8257 android 9 lk upgrade升级后分区表错误问题

问题描述 ac8257 Android 9,使用lk upgrade升级功能升级固件,当分区表发生变化时,分区表会出现以下问题: 1、备份分区表错误 2、分区表存在重叠 验证方法 lk upgrade升级后,用sgdisk命令检测分区表是否存在错误。…

xftp连接中不成功 + sudo vim 修改sshd_config不成功的解决方法

我们使用sudo vim不成功,但是我们使用sudo su就可以 了! root用户权利更大! 喵的,终于成功了,一个xftp连接半天不成功。(添加上面的内容就可以连接成功了↑)

Vue3父传子

1. App.vue - 父组件 咱们先来看左边的 App.vue&#xff0c;它扮演的是“父亲”角色——你可以想象它是一位热心的老爸&#xff0c;手里拿着一条消息&#xff0c;正准备把这条消息送到“儿子”那里。 <script setup> // 这个 setup 就像一个神奇的开关&#xff0c;一开…