linux变量及shell基础知识

    技术2022-05-19  24

    linux变量及shell基础知识

    命令扩展~表示用户家目录 {}命令行路径扩展 ``反引号相当于$() 可以在其中添加命令egmkdir {a,b}_{c,d} 相当于创建目录a_c,a_d,b_c,b_d四个目录 echo “It is $(date ‘+%T’)”输出结果为 It is 03:12:13

    shell编程中变量有以下特点:

    1.        不区分变量类型

    2.        变量不需要提前声明,直接使用(不过建议声明一下)

    变量命名特点:

    1.        以字母或”_”开头

    2.        最好不要有特殊字符

    3.        建议以大写字母为变量名

    变量的类别:

    1.        本地变量

    2.        环境变量

    3.        特殊变量(bash内置变量)

    4.        位置变量

    本地变量的声明:set VARNAME=value  取消 unset VARNAME.赋值和撤销变量前不需要加$,但在引用时输出时必须加$   eg: echo $VARNAME。本地变量只对当前shell起作用。

           环境变量只对当前shell和其子shell起作用。将本地变量改为环境变量方法是:     export VARNAME    取消办法unset VARNAME

           exportprintenv显示预定义的环境变量,常见的系统变量有PATH(二进制文件位置)HISTSIZE(history的大小)HISTFILE(存储history的文件)USERHOMEPWD等。

           可用which command查看文件的路径 hash查看执行过的命令(必须是外部命令)和位置其结果中hit表示使用的次数。关于PS1的用法可以使用man bash查看。

           为命令取别名使用alias  egls=’ls –l’

     

    shell编程基础知识

          

           编程的语言可分为编译型语言和脚本语言。编译型语言经过一次编译,执行过程为:源代码à编译à链接à运行。其特点为:执行效率高,但维护成本高。c c++javac#都属于编译型语言。脚本语言是一种动态语言,执行方法为解释执行。比较容易修改。shellperlphpasp都属于脚本语言。

           shell脚本必须以#!<shell脚本路径>开头,其他以#开头的都为注释。执行脚本的办法为  ./脚本名称   bash –n test.sh来测试脚本。

           环境变量的配置文件可分为全局配置文件、个人配置文件,其结果为两文件之和,如有冲突则以个人为主。

                  全局配置文件有 /etc/profile         /etc/profile.d/*            /etc/bashrc

                  个人配置文件有       ~/.bashrc              ~/.bash_profile    ~/.bash_logout

                         其中profile类文件:设定环境变量,执行一些命令

                                bashrc类文件:设定本地变量,定义命令别名

           系统中的shell可分为登录shell和非登录shell。启动登录shell是读取配置文件的顺序为:/etc/profileà(/etc/profile.d/*)à~/bash_profileà~/.bashrcà/etc/bashrc。而启动非登录shell读取的顺序为       ~/.bashrcà/etc/bashrcà/etc/profile.d/* 。当我们修改过配置文件后可用source FILE . FILE重新读取配置文件。eg 1  alias 存在于bashrc  2 增加PATH的内容 export PATH=$PATH:/uer/local/program/bin 意为增加PATH的路径/usr/local/program/bin       切记声明称环境变量时必须用export来声明一下


    最新回复(0)