linux shell 脚本【1】 ---- echo 与 printf 用法

终端打印的常用命令有 echo 和 printf 两种。

先说基本用法:


echo:

1. echo Hello Word !

命令行输出:Hello Word !

2. echo 'Hello Word !'

命令行输出:Hello Word !

3. echo "Hello Word"

命令行输出:Hello Word


嗯? 为什么第三种,即双引号的方式, 跟世界打个招呼没有感情(感叹号)呢?


这就得说到这三种打印方式的差别了。

先说第三种,将输出内容放到双引号里。不能直接打印!(叹号),会提示

bash: !: event not found error

如果要打印,应该

set +H

echo "Hello Word !"

赶紧试试输出结果吧。 或者用前两种方法


那第二种呢?

单引号的打印方式也是有缺陷滴。即,打印不了变量。关于变量后面再说。


第一种也有不足吗?

答案当然是肯定的啦。很明显第一个打印不了“;”(分号)。

如果分行在句尾,直接被忽略

echo Hello Word;

命令行输出:Hello Word 

如果分号在句中,还会报错呢

echo Hello; Word

命令行输出:Hello

并提示找不到Word命令


明白了吧,分号在shell里被用作命令界定符,标记一个命令的结束。


简单的输出一定掌握了吧。来点高端滴:echo 的参数

-e:识别输出内容里的转义序列

-n:忽略结尾的换行


转义不懂是可以理解的,请百度或Google之

转义懂得,是不需要讲滴,对不。还是举个例子

echo -e "Hello\tWord"

命令行输出:Hello Word 


关于-n,大家肯定都看见了。echo的默认输出最后都有换行,次参数就是去掉末尾的换行滴。

有的时候吧,还真挺有用。记住哦


高端的学完还是感觉不足以拿出来炫耀,那必须来点大气上档次滴

叫做:彩色打印输出,太帅太酷啦!


作为必备背景知识,得先补充一下。别心急

先说颜色值这回事儿:

文字颜色:

重置=0 黑色=30 红色=31 绿色=32 黄色=33 蓝色=34 洋红=35 青色=36 白色=37

文字背景颜色:

重置=0 黑色=40 红色=41 绿色=42 黄色=43 蓝色=44 洋红=45 青色=46 白色=47


不多废话,赶紧上实现方式

echo -e "\e[1;31m Hello Word \e[0m"

命令行输出:Hello Word

echo -e "\e[1;41m Hello Word \e[0m"

命令行输出:Hello Word


下面隆重登场的就是printf啦

必须说明的两点是,

1.printf的默认输出没有换行,换行需要自己加“\n”

2.printf支持格式化输出,要不怎么能叫printf呢


举例几个吧

printf "%-10sWord\n" Hello

命令行输出: Hello     Word

其中 “-”表示左对齐     “10”表示Hello这个字符占10个字符长度输出    “s"表示输出的是字符串String


printf "%4.2f\n" 5.12345

命令行输出:5.12

"4"还是占4个字符长度 “.2”表示输出小数点后的两位 “f”表示输出的浮点型数Float



注:内容多参照 《Linux Shell 脚步攻略》。 算学习笔记了。跟大家分享一下。

写的有不妥的地方,还望多多指正!

每天进步一点点!!!


猜你喜欢

转载自blog.csdn.net/liu_zhen_wei/article/details/13849767