首页 > 代码库 > Shell Step by Step (2) —— Variable
Shell Step by Step (2) —— Variable
3.变量声明
readonly 只读
export 修改或打印环境变量
export -p 显示当前环境
【注】强烈注意,在赋值的前后一定不要有空格.
# echo 控制字符颜色
root@kallen:/home/kallen/TEST/Shell# echo -e ‘\e[1;31mHello,World\e[0m‘
Hello,World
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。