Shell 的 echo 指令与 PHP 的 echo 指令相似,都是用于字符串的输出。命令格式:echo stringshell
您能够使用echo实现更复杂的输出格式控制。bash
1.显示普通字符串: echo "It is a test" ,这里的双引号彻底能够省略,测试
如下命令与上面实例效果一致:echo It is a testspa
2.显示转义字符: echo "\"It is a test\"" , 结果将是:"It is a test" , 一样,双引号也能够省略。code
备注: \" \": 转移一对""符号。字符串
3.显示变量:read 命令从标准输入中读取一行,并把输入行的每一个字段的值指定给 shell 变量string
#!/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 -eit
echo -e "OK! \n" # -e 开启转义 echo "It it a test" 输出结果: OK! -- 备注:(有一空行) It it a test
5.显示不换行: 注意: echo -eclass
#!/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; (第一次接触这个操做)test
7.原样输出字符串,不进行转义或取变量(用单引号):
echo '$name\"' 输出结果: $name\"
8.显示命令执行结果:
echo `date` 注意: 这里使用的是反引号 `, 而不是单引号 '。 结果将显示当前日期 2018年 3月11日 星期日 11时57分18秒 CST
备注1: echo输出的字符串总结:
===================================================================
可否引用变量 | 可否引用转移符 | 可否引用文本格式符(如:换行符、制表符)
单引号 | 否 | 否 | 否
双引号 | 能 | 能 | 能
无引号 | 能 | 能 | 否
===================================================================
备注2.read命令相关:
read 命令一个一个词组地接收输入的参数,每一个词组须要使用空格进行分隔;若是输入的词组个数大于须要的参数个数,则多出的词组将被做为总体为最后一个参数接收。
测试文件 test.sh 代码以下:
read firstStr secondStr echo "第一个参数:$firstStr; 第二个参数:$secondStr" 执行测试: $ sh test.sh 一 二 三 四 第一个参数:一; 第二个参数:二 三 四
实例, 文件 test.sh:
read -p "请输入一段文字:" -n 6 -t 5 -s password echo "\npassword is $password"
参数说明:
$ sh test.sh 请输入一段文字: password is asdfgh