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/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
echo -e "OK! \n" # -e 开启转义
echo "It it a test"
输出结果:
OK!
-- 备注:(有一空行)
It it a test
5.显示不换行: 注意: echo -e
#!/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`
注意: 这里使用的是反引号 `, 而不是单引号 '。
结果将显示当前日期
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"
参数说明:
- -p 输入提示文字
- -n 输入字符长度限制(达到6位,自动结束)
- -t 输入限时
- -s 隐藏输入内容
$ sh test.sh
请输入一段文字:
password is asdfgh
来源:oschina
链接:https://my.oschina.net/u/3204727/blog/1632833