shell命令之echo命令详解
2018-04-18 本文已影响120人
会飞_的鱼
- 显示普通字符串:
#带双引号不带双引号输出的结果一致,双引号可省略
echo "It is a test"
echo It is a test
- 显示转义字符:
echo "\"It is a test\""
输出如下:
"It is a test"
-
显示变量:
read 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。
测试文件 test.sh 代码如下:read firstStr secondStr echo "第一个参数:$firstStr; 第二个参数:$secondStr"
输出结果:
sh test.sh 一 二 三 四 第一个参数:一; 第二个参数:二 三 四
-
显示换行:
echo -e "OK! \n" # -e 开启转义 echo "It it a test"
输出结果:
OK! It it a test
-
不显示换行:
#!/bin/sh echo -e "OK! \c" # -e 开启转义 \c 不换行 echo "It is a test"
输出结果:
OK! It is a test
-
显示结果定向至文件:
echo "It is a test" > myfile
-
原样输出字符串,不进行转义或取变量(用单引号):
echo '$name\"'
输出结果:
$name\"
-
显示命令执行结果:
echo `date` #注意这里使用的是反引号 `, 而不是单引号 '。
输出结果:
Thu Jul 24 10:08:46 CST 2014
-
echo输出字符串总结:
能否引用变量 能否引用转移符 能否引用文本格式符(如:换行符、制表符) 单引号 否 否 双引号 能 能 无引号 能 能 -
补充说明:
- echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
- echo相关参数说明如下:
参数: -n 不要在最后自动换行 -e 打开反斜杠ESC转义。 开启转义后,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \\ 插入\字符;