Linux命令之 echo 详解

控制台输出

选项 说明
-n 取消结尾带有换行操作
-e 在输出字符串中间可以使用制表符
-E 禁用制表符(默认)
制表符号 说明
\\ 取消转义
\b 退格键
\n 换行
\t table键

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/sh
read name 
echo "$name It is a test"

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

[root@www ~]# sh test.sh
OK                     #标准输入
OK It is a test        #输出

4.显示换行

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

输出结果:

OK!

It is a test

5.显示不换行

#!/bin/sh
echo -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

9.大阔号输出

# 截取元素
str='春眠不觉晓'
echo "${str:1:2}" # 释义:1从下标1开始截取,2截取两位(下标从0开始):[眠不]
echo "${str:1}" # 释义: 从下标1开始截取, 一直截取到结尾:[眠不觉晓]
echo "${str::2}" #释义: 默认从下标0开始截取两位:[春眠]
echo "${str:0-3}" # 释义: 从右往左截取3个字符:[不觉晓]
echo "${str:0-3:2}" # [不觉]
str='/root/tmp/202301/12/shell/shell01.sh'
echo "${str#*/}" # [root/tmp/202301/12/shell/shell01.sh]
echo "${str##*/}" # [shell01.sh]
echo "${str%/*}" # [/root/tmp/202301/12/shell]
echo "${str%%12*}" # [/root/tmp/202301/]
# 替换元素
str='春眠不觉晓'
echo "${str/眠/*}" # [春*不觉晓]
echo "${str/不觉/*}" # [春眠*晓]
str='/root/tmp/202301/12/shell/shell01.sh'
echo "${str }" # [ root tmp 202301 12 shell shell01.sh]
echo "${str#}" # [#root#tmp#202301#12#shell#shell01.sh]

10.将变量内容转换成大小写

a='yes'
# 将a转成大写
echo "${a^^}"
b='YES'
# 将b转成小写
echo "${b,,}"

你可能感兴趣的:(Linux,linux,运维,服务器)