发现自己的linux命令好low,一直用echo命令主要是用于打印变量,后来才知道一般起到的作用好多都是提示的作用。决定向比较规范的shell脚本学习,下面主要针对echo命令的语法进行介绍。
语法
echo(选项)(参数)
说明:echo将字符串送往标准输出,并且字符串之间以空白字符隔开,并在最后加上换行符
选项
echo [-n] 不要在最后自动换行
echo [-e] 激活转义字符,若字符串出现以下字符,则特别加以处理,而不会将它当成一般文字处理输出
- \a 发出警告声
- \b 删除前一个字符
- \c 最后不加上换行符号
- \f 换行但光标仍旧停留在原来的位置
- \n 换行且光标移至行首
- \r 光标移至行首,但不换行
- \t 插入tab
- \v 与\f相同
- \ 插入\字符
- \nnn 插入nnn(八进制)所代表的的ASCII字符
输出样式
字体和背景颜色:
前景 | 背景 | 颜色 |
30 | 40 | 黑色 |
31 | 41 | 紅色 |
32 | 42 | 綠色 |
33 | 43 | 黃色 |
34 | 44 | 藍色 |
35 | 45 | 紫紅色 |
36 | 46 | 青藍色 |
37 | 47 | 白色 |
其他设置:
0 重新设置属性到缺省设置
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
49 设置缺省黑色背景
例子:
echo -e "\033[32;49;1m [DONE] \033[39;49;0m"
或
echo -e "\e[32;49;1m [DONE] \033[39;49;0m"
“\033”或者 “\e” 引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列。
其他有趣的代码还有:
\033[2J 清除屏幕
\033[0q 关闭所有的键盘指示灯
\033[1q 设置“滚动锁定”指示灯 (Scroll Lock)
\033[2q 设置“数值锁定”指示灯 (Num Lock)
\033[3q 设置“大写锁定”指示灯 (Caps Lock)
\033[15:40H 把关闭移动到第15行,40列
\007 发蜂鸣生beep
RedHat的字体和背景颜色的改变方法:
命令:
PS1=”[\e[32;1m\u@\h \W]$”
或
export PS1=”[\e[32;1m\u@\h \W]$” 两者的区别请查看环境变量的相关资料
打印时间:
例子:
echo `date +%Y-%m-%d:%T`
等价于
echo $(date +%Y-%m-%d:%T)