zoukankan      html  css  js  c++  java
  • linux shell编程之变量和bash配置文件(第一篇)

    编程语言有两类

      强类型:如C语言。数据具有其特定的类型,先声明定义后才能使用。数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算)

      弱类型:如shell。数据默认为字符型,不用事先声明。数据运算时会自动转换数据类型。

    1、变量

      变量命名规则

      变量类型

      变量引用

    1.1、变量命名规则:

    •   变量由字母、数字、下划线组成。
    •   不能由数字开头

    1.2、变量类型:本地变量、环境变量、局部变量、特殊变量(内置)、参数变量、只读变量。

      

      注意如果变量没有定义在shell的配置文件,那么他的生命周期只是当前shell进程,一退出就失效。

      作用域示例:

        本地变量:可以看到再次打开一个bash时使用echo $test并不会输出s1。所以本地变量的作用域为当前shell。

        

        环境变量:子shell也起作用

        

      变量定义示例:

        

    1.3、变量引用(对上表的补充):

       “变量名”(双引号):弱引用,其中的变量引用会被替换为变量值
       '变量名'(单引号) :强引用,其中的变量引用不会被替换为变量值,而保持原字符串
      变量引用示例
        
     

    2、shell脚本编程:利用系统上的命令和编程组件的面向过程的编程。

    2.1bash的配置文件:profile类和bashrc类

        profile类:为交互式登录的shell提供配置

        bashrc类:为非交互式登录的shell提供配置  

          

          交互式:通过终端输入用户名和密码登录后打来shell

              通过su - USERNAME或su -l USERNAME登录后打开的shell

            配置文件读取顺序:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->/etc/bashrc

          非交互式:通过su USERNAME执行的登录

               GUI图形界面下打开的终端

               运行脚本文件中打开的shell

            配置文件读取顺序:~/.bashec-->/etc/bashrc--->/etc/profile.d/*

          总结:两者的区别可以简单的说成是——是否需要输入密码。

    2.2配置文件修改后生效示例

      注意,修改配置文件不会立即生效可以使用.(英文点号)或者source来强制重读配置文件,使得修改立刻生效

      首先修改.bashrc文件添加alias ech='echo $PATH'

      使用alias并没有打印出我们刚添加的命令别名,使用ech直接报错

      使用source FILE_NAME重读配置文件后使用alias命令,可以看到我们新添加的ech。

    shell编程其他文章请点击下边链接

     
     

         

  • 相关阅读:
    ASP.NET Core 个人新闻项目
    C# 检查字符串中是否有HTML标签、返回过滤掉所有的HTML标签后的字符串
    VueCLI 页面加载进度条效果
    replace() 方法使用
    CentOS 7.9安装教程
    在Windows中安装MySQL
    linux安装consul
    jenkins Skywalking安装部署文档总结
    CentOS 7.x安装.NET运行时
    Apollo部署文档
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/9160293.html
Copyright © 2011-2022 走看看