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
背景色: 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=${!$#} 将报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值