linux变量及shell基础知识
命令扩展:
~ 表示用户家目录
{}命令行路径扩展
`` 反引号相当于$()
可以在其中添加命令eg:mkdir {a,b}_{c,d} 相当于创建目录
a_c,a_d,b_c,b_d四个目录
echo“It is $(date'+%T')" 输出结果为 It is 03:12:33
在shell编程中变量有如下特点:
不区分变量类型
变量不需要提前声明,直接使用
变量名特点:
以字母或"_"开头
最好不要有特殊字符
建议以大写字母为变量名
变量的类别:
本地变量
环境变量
特殊变量(bash内置变量)
位置变量
本地变量的声明:set VARNAME=value
取消:unset VARNAME
赋值和撤销变量前不需要加$,但在引用时输出时必须加$
eg:echo $VARNAME(变量名)本地变量只对当前shell起作用
环境变量只对当前shell和其子shell起作用。将本地变量改为环境变量
的方法是:export VARNAME 取消办法:unset VARNAME
用export和printenv显示预定义的环境变量,常见的系统变量有PATH
(二进制文件位置),HISTSIZE(history的大小),HISTFILE( 存储history
的文件),USER,HOME,PWD等
可用which command查看文件的路径
hash 查看执行过的命令(必须是外部命令)和位置,其结果中hit
表示使用次数。
关于ps1的用法可以使用man bash查看
为命令取别名使用 alias eg:ls=‘ls -l’
shell编程基础知识:
编程的语言可分为编译型语言和脚本语言。编译型语言经过一次编译,执行
过程为:源代码-》编译-》链接-》运行。其特点为:执行效率高,但维护成本高。
c,c++,java,c#都属于编译型语言。脚步语言是一种动态语言,执行方法为解释
执行。比较容易修改。shell,perl,php,asp都属于脚步语言。
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->/etc/bashrc.而启动非登录shell读取的顺序为:
~/.bashrc->/etc/bashrc->/etc/profile.d/*.
当我们修改过配置文件后可用source FILE或.FILE重新读取配置文件。
eg: 1. alias存在于bashrc中
2. 增加PATH的内容 export PATH=$PATH:/usr/local/program/bin意为
增加PATH的路径:/usr/local/program/bin 切记声明环境变量时必须用export来声明一下。
好困啊。。。要睡了亲们。。。晚安啊!111!
阅读(1394) | 评论(0) | 转发(0) |