linux——shell编程基础

编程语言有两类

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

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

变量

变量命名规则:

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

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

  

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

  作用域示例:

    本地变量

    

    环境变量:子shell也起作用

    

  变量定义示例:

    

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

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

 shell脚本编程

  利用系统上的命令和编程组件的面向过过程的编程。

  bash的配置文件: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/*

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

配置文件修改后生效示例

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

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

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

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

     

猜你喜欢

转载自www.cnblogs.com/wxxjianchi/p/9160293.html