【Shell】标准输入 read 和输出 echo

版权声明:原创不易,未经作者允许请勿随意转载!因个人能力和精力有限,难免有疏漏和不足之处,欢迎指正,谢谢~ https://blog.csdn.net/lijing742180/article/details/85174636

一、标准输入 read

shell 中通过 read 语句从键盘或文件的某一行文本中读入信息,并将内容赋给变量,多个变量之间用空格分隔。

read 变量1 变量2 ...

read 每次只能读取一行数据。

  • 把一行内容全部赋值给一个变量,并直接通过 echo 输出。
$ read name
 jjing
$ echo $name
 jjing
 
$ read name
 jjing jj
$ echo $name
 jjing jj
  • 一次赋值多个变量,多个值用空格分隔。
$ read name1 name2
 jjing tao
$ echo $name1
 jjing
$ echo $name2
 tao
  • 赋值多个变量时,当值多于变量名时,最后多余的内容全部赋值给最后一个变量。
$ read name1 name2
 jjing tao yayaa
$ echo $name1
 jjing
$ echo $name2
 tao yayaa

二、标准输出 echo

使用 echo 命令可以输出文本字符串、变量、表达式、命令等。

直接在 echo 后面加上要输出的内容即可。

命令 输出内容 说明
echo “abcd1234” abcd1234 输出一个普通字符串,默认在结尾包含换行符,光标定位在下一行开头。
echo -e “my name is :\c” my name is : \c表示不换行,输出字符串后光标定位在字符串末尾。(在 Linux 中要加上 -e 参数才能生效)
echo -e “1\n2\n3\n4\n” 输出多行,每个数字为一行 \n表示换行,实现一次性输出多行内容。(在 Linux 中要加上 -e 参数才能生效)
a=1 echo “$a” 输出变量,使用 $ 引用变量名即可 引用变量时,可以不加双引号,但是不能用单引号。
echo "\“13242\”"
echo ‘“13242”’
“13242” 输出特殊字符时要转义,也可以在最外层使用单引号则不用转义。
echo “`date`” 2018年 12月 20日 星期四 09:08:25 CST 输出命令 date的返回值。

说明:

  • 输出内容可以带引号,也可以不带,但是为了书写规范及减少错误,最好统一带双引号。
  • \c–不换行,\n–换行,使用时前面要加上 -e参数。
  • 输出变量时,直接用 $ 加上变量名即可。
  • 输出特殊字符时,要使用 \转义,或者在最外层加上单引号,可以原文输出为字符串。
  • 输出命令时,注意命令外面的特殊引号。

猜你喜欢

转载自blog.csdn.net/lijing742180/article/details/85174636