linux之Shell编程--Shell输出命令echo和printf

Posted 菠萝印象威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之Shell编程--Shell输出命令echo和printf相关的知识,希望对你有一定的参考价值。

一.Shell输出命令之echo简介

在前面的例子中我们可以看到很多echo命令,它的作用其实和C++中的cout以及Java中的system.out.println很相似,都是很简单的输出命令,今天,我再详细讲解一下echo命令的使用。

echo命令实例演示:
显示字符串: echo “Hello World”,一般情况双引号可以省略,直接写成echo Hello World
显示变量: a=10;echo “a = $a”

显示执行结果:echo `expr 1 + 1`
原样输出所有内容 (使用单引号):echo ‘$a"’
显示换行:echo -e “aaa\\n”;echo “bbb”
不换行:echo -e “AAA! \\c”;echo “BBB”
将内容重定向到指定文件中:echo ‘a12345’ >test.txt(此时,原test.txt里的内容被清空,重新写入a12345到文件里)。
追加内容至文件尾部:echo ‘54321’ >>test.txt(此时,文件末尾多了54321,使用cat file可以输出文件的内容)

实例演示:

echo "Hello World"
a=10;echo "a = $a"
echo  \\`expr 1 + 1\\`
echo '$a\\"'
echo -e "aaa\\n";echo "bbb"
echo -e "AAA! \\c";echo "BBB"
cat zifuchuan.sh
echo 'a12345' >zifuchuan.sh
cat zifuchuan.sh
echo '54321' >>zifuchuan.sh
cat zifuchuan.sh


在这里插入图片描述

结果:
在这里插入图片描述

二.Shell输出命令之printf简介

printf命令和C语言的printf()函数很相似
printf 使用引用文本或空格分隔参数, printf 还可以使用格式化字符串。
输出字符串:printf “Hello, Shell\\n”(printf和echo不同,echo会自动换行,而printf需要手动加上\\n换行)
在这里插入图片描述
格式化字符串:
printf “%s %d %f\\n” 张三 20 70.2
%s表示输出字符串,%d表示输出整型,%f表示输出浮点型
在这里插入图片描述

%10s表示字符宽度为10个字符,如果加上-,表示左对齐。
在这里插入图片描述

实例演示printf格式化字符串
在这里插入图片描述

#!/bin/bash
printf "%d %s\\n" 10 "ac"

printf '%d %s\\n' 10 "ac"

printf %s aaadc

printf %s abc def

printf "%s\\n" abc def

printf "%s %s %s\\n" a sdf ds s af g

printf "%s and %d \\n"

结果在这里插入图片描述

总结
1.printf格式化字符串加双引号和单引号以及不加效果一致。
2.如果格式只指定了一个参数,多出的参数仍然会按照该格式输出。
3.如果没有参数列表,%s为NULL,%d为0。

printf常用的转义字符
\\n 换行
\\r 回车
\\ 反斜杠字符
在这里插入图片描述

以上是关于linux之Shell编程--Shell输出命令echo和printf的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本——编程之循环语句(forwhileuntil)

Shell编程之变量

Shell 命令 之linux 模式下的编程语言

Linux Shell编程之输入输出重定向

Shell编程之循环语句和函数

Linux之Shell编程(13)