Shell编程基础

Shell:命令解释器,介于操作系统与用户之间,负责将命令解释给Linux内核

常见的Shell种类:Bsh、Ksh、Zsh、Csh以及我们的Bash,Bash是Bsh的升级版本,是Linux默认的Shell

Shell环境的切换:

  登录Shell:

    指用户每次登录加载的Shell程序,大多数Linux系统采用/bin/bash作为默认的登录Shell

    /etc/shells记录了系统支持的有效登录Shell

  切换Shell:

    临时切换:直接执行其他Shell程序,如ksh、csh等

    更改用户登录Shell:修改/etc/passwd文件中记录的最后一个字段,或者usermod -s Shell程序路径 用户名

Bash的命令别名:

  查看别名:alias 命令,比如alias ls查看ls的别名

  设置命令的别名:alias 命令="实际执行的别名",比如alias rm="rm" 此时rm的别名就是“rm”(带了引号)

  取消已设置的别名:unalias 别名,比如unalias "rm"取消了上一步设置的别名,记得恢复回去

Bash的历史命令:history

 

管道与变量:

  管道:左边命令的输出结果作为左边命令的输入,操作符为“|”

  Shell变量:为灵活管理Linux系统提供特定参数,有两层意思:

    1.变量名:使用固定的名称,由系统预设或用户定义

    2.变量值:能够根据用户设置或系统环境变化而变换

  Shell变量种类:

    用户自定义变量:用户自己定义、使用和修改

    环境变量:由系统维护,用于设置用户Shell工作环境,只有极少的环境变量可以修改

    预定义变量:Bash预定义的特殊变量,不能直接修改

    位置变量:通过命令行给程序传递执行参数

  变量的赋值与使用:

    定义新变量:

      变量名要以英文字母或下划线开头,区分大小写

      格式:变量名=变量值

    查看变量值:

      echo $变量名

    从键盘输入内容为变量赋值:

      格式:read [-p "信息"] 变量名

    结合不同的引号为变量赋值:

      双引号:允许通过$引用其他变量的值

      单引号:禁止使用其他变量,$视为普通字符

      反撇号(``):将命令执行的结果输出给变量

  

     设置变量的作用范围

      export 变量名...    设置变量为全局变量

      export 变量名=变量值 [...变量名n=变量值n]

  

         这里设置DAY为全局变量之后,在其他的环境中也能生效

      清除用户设置的变量

        unset 变量名

  环境变量:

    全局配置文件:/etc/profile

    用户配置文件:~/.bash_profile

    查看环境变量

      set命令可以查看所有的Shell变量

 

posted @ 2019-02-18 23:25  bigbigtong  阅读(207)  评论(0编辑  收藏  举报