linux的输入和输出

Linux中的输入和输出

在初学一门编程语言的时候,最常打的代码往往就是往标准输出输出字符,从标准输入中获取输入。一般而言,操作系统的标准输入默认是键盘输入,操作系统的的标准输出默认是控制台输出。而在linux中也是类似的,linux中使用echo进行标准化输出,使用read进行标准化输入。

echo

echo - Echo the STRING(s) to standard output.

在linux的man文档中如是介绍echo,打印字符串到标准输出。

Grammar

echo [SHORT-OPTION]... [STRING]...

echo后不跟任何参数直接跟上字符串,则打印字符到标准输出(控制台)的意思,并且会在语句的最后跟上一个回车换行符。


]# echo  hello world
 hello world

常见选项

  • -n

do not output the trailing newline

取消默认的在字符串末尾添加换行符。

]# echo -n  hello wolrd
 hello wolrd[root@localhost ~]# 
  • -e

enable interpretation of backslash escapes

允许解释转义字符。

linux中支持的常见的转义字符有:

  • \t, 制表符
  • \n, 换行符(换行后光标在下一行的开头)
  • \f,换行符(换行后光标在下一行的与上一行相同的横向偏移量)
# 不加任何参数,默认原样输出
]# echo "hello\nworld "
hello\nworld

# 加上-e参数,允许转义字符的输出
~]# echo -e " hello\nworld"
hello
world

到此为止,如上其实都是echo的基础用法。如果只是讲如上功能,笔者就不会单独编写了,最重要的是echo可以设置输出文字内容的颜色。这样在linux的shell编写中就可以使用不同颜色来表示是否有异常。如:当出现错误的时候,使用红色来输出错误语句。

echo输出颜色

echo输出颜色,必须加上-e选项。

str="echo color"
echo -e "\033[30m ${str}\033[0m"      ## 黑色字体
echo -e "\033[31m ${str}\033[0m"      ## 红色
echo -e "\033[32m ${str}\033[0m"      ## 绿色
echo -e "\033[33m ${str}\033[0m"      ## 黄色
echo -e "\033[34m ${str}\033[0m"      ## 蓝色
echo -e "\033[35m ${str}\033[0m"      ## 紫色
echo -e "\033[36m ${str}\033[0m"      ## 青色
echo -e "\033[37m ${str}\033[0m"      ## 白色

print

如上节所述,linux中使用echo来把字符串输出到标准输出中。如果想从标准输入(键盘)中输入字符,则使用的是read。

Grammar

read [OPTION] VARIABLE

常见的选项有:

-p: 打印一串提示符,让客户输入一串字符串。

#! /bin/bash
# 提示让客户输入他的姓名
read -p "please input your name:" name
echo "your name is: $name"

你可能感兴趣的:(linux的输入和输出)