首页 > 其他 > 详细

bash相关

时间:2016-03-02 00:14:12      阅读:149      评论:0      收藏:0      [点我收藏+]

shell
shell是一个翻译器,shell将命令转为CPU可执行的二进制代码,然后CPU把执行后的结果传给shell,shell有很多种,在linux中默认使用的shell是hash。
shell有很多内置的命令,如常用的cd,ls等
type命令可以查看一个命令是不是shell内嵌的命令:type cd
在Linux输入命令的时候,在同一行可以输入多个命令,之间用;隔开
一个命令太长的时候可以用\回车另起一行输入,这样做可以防止一个命令单词被分成两行,影响阅读


变量
定义一个变量名,可以由字母、数字、下划线组成,但不能以数字开始
给一个变量赋值的时候:变量名=可取值,等号的两边不能出现空格,如果可取值中含有空格的时候,用""引起来
查看一个变量的值命令:echo $变量名
查看当前shell的进程:echo $$
取消一个变量:unset 变量名

本地变量
在终端中:xx=10,意思是定义了一个变量名叫xx的变量,并赋值为10,这种变量是本地变量,这个变量只是在当前的shell有效,不会影响到子shell

环境变量
在终端中:export yy=20,定义了一个环境变量,承上,如果此时#export xx,则把上一段中的xx由本地变量转为环境变量了,环境变量会影响到所有的子shell
查看变量命令:set可以显示所有的变量,env显示环境变量,export也可以显示环境变量,或者export -p,这三者都能显示环境变量
declare也可以用来定义环境变量:declare -x zz=80,定义一个环境变量zz,赋值为80,declare +x zz则是把zz定义为本地变量

位置变量
$1 $2 $3 $4,分别表示第1个参数、第2个参数、第3个参数、第4个参数,而$0表示的是这个文件的名字,$#表示参数的个数,$*表示所有的参数
在位置参数显示中,如命令:
#set 1 2 3 4 5 6 7 8 9 a b c d
#echo $10
得到的结果是10,而不是想象中的a,这是因为在解析命令#echo $10的时候,先执行$1得到第1个参数1,然后直接显示1和0了,就是10,正确的方法是:#echo ${10},这样就可以得到第10个参数a了

在切换用户的时候,变量HOME,USER会被赋值
终端提示符的变量是PS1,断行的提示符的变量是PS2

locale -a可以查看系统支付的编码,其变量是LANG

bash相关

原文:http://www.cnblogs.com/yiyezc/p/5233238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!