- 显示普通字符串:
#带双引号不带双引号输出的结果一致,双引号可省略
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输出字符串总结:
能否引用变量 | 能否引用转移符 | 能否引用文本格式符(如:换行符、制表符) |
---|---|---|
单引号 | 否 | 否 |
双引号 | 能 | 能 |
无引号 | 能 | 能 |
- 补充说明:
1. echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
2. echo相关参数说明如下:
参数:
-n 不要在最后自动换行
-e 打开反斜杠ESC转义。
开启转义后,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;