码迷,mamicode.com
首页 > 系统相关 > 详细

Shell Step by Step (2) —— Variable

时间:2015-01-28 17:54:31      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:shell   bash   echo   

3.变量声明

readonly 只读
export 修改或打印环境变量
export -p 显示当前环境

强烈注意,在赋值的前后一定不要有空格.

# echo 控制字符颜色

root@kallen:/home/kallen/TEST/Shell# echo -e ‘\e[1;31mHello,World\e[0m‘ 
Hello,World
背景色: 0 透明(使用终端颜色), 40 黑, 41 红, 42 绿, 43 黄, 44 蓝 45 紫, 46 青绿,47白(灰)
前景色 :  30 黑 31 红, 32绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)
高亮度: 高亮是1,不高亮是0。注意m后面紧跟字符串。

-e 用来开启echo中的转义
\e 或 \033 来输出Esc符号
设置颜色的格式: \e[背景色;前景色;高亮m
恢复默认为 \e[0m
高亮是1,不高亮是0
注意m后面紧跟字符串

【注意】 以"-"开头的文件名在使用"-"作为重定向操作符的时候,可能会产生问题.
            应该写一个脚本来检查这个问题,并给这个文件加上合适的前缀.如: 
            ./-FILENAME, $PWD/-FILENAME,或$PATHNAME/-FILENAME.
如果变量的值以"-"开头,可能也会引起问题.
1 var="-n"
2 echo $var
3 #具有"echo -n"的效果了,这样什么都不会输出的.


~+    当前工作目录,相当于$PWD 变量.
~-     之前的工作目录,相当于$OLDPWD 内部变量.
=~    用于正则表达式,这个操作将在正则表达式匹配部分讲解,只有version3 才支持.
^      行首,正则表达式中表示行首. "^"定位到行首.

变量赋值方式——

(1) 直接赋值:=
(2) Let赋值: let a=16+5

Bash 并不对变量区分"类型".本质上,Bash 变量都是字符串. 但是依赖于上下文,Bash 也允许比较操作和算术操作.
决定这些的关键因素就是,变量中的值是否只有数字.

a.位置参数

{}标记法是一种很好的使用位置参数的方法.这也需要间接引用
1 args=$# # 位置参数的个数
2 lastarg=${!args}
3 # 或: lastarg=${!#}
4 # 注意 lastarg=${!$#} 将报错

Shell Step by Step (2) —— Variable

标签:shell   bash   echo   

原文地址:http://blog.csdn.net/kallen_ding/article/details/43233555

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!