shell 输入和输出

语言是一门工具,学习一门语言,首先得学会打招呼,跟用户进行交互。C语言的printf和scanf常用来输入和输出,在shell中经常使用read和echo用来输入和输出。

echo命令

echo命令常用来打印变量、字符串、转义字符、命令的执行结果等,还可以通过各种选项(换行、回车、tab等)显示不同的形式。

root@pc:/# echo zhaixue.cc                      显示字符串
zhaixue.cc
root@pc:/# WEB=www.zhaixue.cc                   显示变量
root@pc:/# echo $WEB
www.zhaixue.cc
root@pc:/# echo -e "hello \n www.zhaixue.cc"    显示换行符
hello 
 www.zhaixue.cc
root@pc:/# echo 'hello \n www.zhaixue.cc'       原样输出
hello \n www.zhaixue.cc
root@pc:/# echo 'hello $WEB'                    原样输出
hello $WEB
root@pc:/# echo "hello $WEB"         显示字符串里的变量
hello www.zhaixue.cc
root@pc:/# echo `whoami`             显示命令whoami的运行结果
root
root@pc:/#

printf命令

shell中的printf命令模仿C语言中的printf()函数,支持格式化打印,甚至还支持字符串的宽度、左右对齐等。如果你对C语言的printf()很熟悉了,基本上可以平滑过渡过来,闭上眼,直接使用就可以了。

root@pc:/home/demo# WEB=www.zhaixue.cc
root@pc:/home/demo# printf "%s\n" $WEB
www.zhaixue.cc
root@pc:/home/demo# printf "hello %s\n" $WEB
hello www.zhaixue.cc

read命令

shell中的read命令用来读取用户输入。

root@pc:/home/demo# read web
www.zhaixue.cc
root@pc:/home/demo# echo $web
www.zhaixue.cc

read命令默认会从标准输入中读取一行文本,并把第一个单词赋值给第一个变量名称,第二个参数赋值给第二个变量名称:

root@pc:/home/demo# read a b
1 2
root@pc:/home/demo# echo $a
1
root@pc:/home/demo# echo $b
2
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客