005-Shell echo命令
一、概述
Shell 的 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 it a test"
输出结果:
OK!
It it 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
追加 >>://echo后边用单引号包围要添加的内容
echo 'add content'>>/home/data/test.sh
删除后添加 >
echo 'add content'>/home/data/test.sh
注意>>
表示在原来的文件末尾上进行追加,如果使用的是>
则表示删除原来的内容之后再添加
7.原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
输出结果:
$name\"
8.显示命令执行结果
echo `date`
注意: 这里使用的是反引号 `, 而不是单引号 '。
结果将显示当前日期
Thu Jul 24 10:08:46 CST 2014
9、read解读
read 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。
9.1、多个参数
测试文件 test.sh 代码如下:
read firstStr secondStr echo "第一个参数:$firstStr; 第二个参数:$secondStr"
执行测试:
$ sh test.sh 一 二 三 四 第一个参数:一; 第二个参数:二 三 四
9.2、read其他参数属性
实例, 文件 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
10、将echo 显示结果作为参数
a=`echo xxx`
$a即可
11、文件最后追加内容
1.将 abc 追加到文件a.txt最后
echo "abc" >> a.txt
2. 将文件b.txt 中的内容追加到a.txt最后
cat b.txt >> a.txt
3.在a.txt文件的最后面加abcd
echo "abcd" >> a.txt
四