写点什么

Shell 脚本中的 echo 命令

作者:向阳逐梦
  • 2023-05-09
    四川
  • 本文字数:792 字

    阅读完需:约 3 分钟

Shell脚本中的echo命令

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:

echo string
复制代码

您可以使用 echo 实现更复杂的输出格式控制。

1.显示普通字符串:

echo "It is a test"
复制代码

这里的双引号完全可以省略,以下命令与上面实例效果一致:

echo It is a test
复制代码

2.显示转义字符

echo "\"It is a test\""
复制代码

结果将是:

"It is a test"
复制代码

同样,双引号也可以省略

3.显示变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/shread name echo "$name It is a test"
复制代码

以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

[root@www ~]# sh test.shOK                     #标准输入OK It is a test        #输出
复制代码

4.显示换行

echo -e "OK! \n" # -e 开启转义echo "It is a test"
复制代码

输出结果:

OK!
It is a test
复制代码

5.显示不换行

#!/bin/shecho -e "OK! \c" # -e 开启转义 \c 不换行echo "It is a test"
复制代码

输出结果:

OK! It is a test
复制代码

6.显示结果定向至文件

echo "It is a test" > myfile
复制代码

7.原样输出字符串,不进行转义或取变量(用单引号)

echo '$name\"'
复制代码

输出结果:

$name\"
复制代码

8.显示命令执行结果

echo `date`
复制代码

注意: 这里使用的是反引号 `, 而不是单引号 '。

结果将显示当前日期

Thu Jul 24 10:08:46 CST 2014
复制代码

ead 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。

测试文件 test.sh 代码如下:

read firstStr secondStrecho "第一个参数:$firstStr; 第二个参数:$secondStr"
复制代码

执行测试:

$ sh test.sh 一 二 三 四第一个参数:一; 第二个参数:二 三 四
复制代码

实例, 文件 test.sh:

read -p "请输入一段文字:" -n 6 -t 5 -s passwordecho -e "\npassword is $password"
复制代码

参数说明:

  • -p 输入提示文字

    -n 输入字符长度限制(达到 6 位,自动结束)

    -t 输入限时

    -s 隐藏输入内容

$ sh test.sh 请输入一段文字:password is asdfgh
复制代码


发布于: 11 分钟前阅读数: 8
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
Shell脚本中的echo命令_echo_向阳逐梦_InfoQ写作社区