接下来,我们来看一下linux中的echo命令。
唉,好巧不巧,PHP中也有echo命令,PHP中的echo命令,主要是用来输出字符串,一般都用做调试使用。
而linux中的echo命令一般用于控制台输出,重定向或者向文件中写入内容。
具体的我们可以使用—help来查看命令相关的说明:
sudo echo --help
输出的内容我这里就不展示了,全英文,像我这种英文不好的人,算了。我还是找找中文的说明吧。
一:echo
1:基本使用方法
(1):命令格式
echo string
(2):示例
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo "this is a test" this is a test
2:参数说明(使用了"-e"选项,则可以支持控制字符)
*(1):转义字符:\ 输出 *
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo \ \ [root@iZ2ze5am67ry6t5l15vyuuZ html]# echo "" try 一下 "" " try 一下 "
(2):\b 向左删除键
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e "abc\bdef" abdef [root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e abc\bdef abcbdef
通过上边的示例,我们可以看到在使用控制字符的时候,我们需要在处理的字符串两端添加双引号,否则控制字符不起作用。
(3):\c取消输出行末的换行符。和“-n”选项一致
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e "abc\c" abc[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -n "abc" abc[root@iZ2ze5am67ry6t5l15vyuuZ html]#
大概就是这么个效果。
(4):\e Esc键
root@iZijvdp1z0m5q4Z:~# echo -e "111113333\e" 111113333 root@iZijvdp1z0m5q4Z:~# echo -e "111113333\e4444" 111113333444
这个参数目前我还没有发现任何我能用到的作用。
(5):\n 换行符
root@iZijvdp1z0m5q4Z:~# echo -e "123\nqwe" 123 qwe
(6):\r 回车键
root@iZijvdp1z0m5q4Z:~# echo -e "123\nq\rwe" 123 we
(7):\t 制表符,也就是Tab键
root@iZijvdp1z0m5q4Z:~# echo -e "1\t2\t3\nq\rw\te" 1 2 3 w e
(8):\v 垂直制表符
root@iZijvdp1z0m5q4Z:~# echo -e "1\v2\t3\nq\rw\te" 1 2 3 w e
3:显示变量
首先我们使用touch 创建一个.sh文件
touch test.sh vim test.sh
输入:
#!/bin/sh read name echo "$name It is a test"
保存之后,我们执行过程如下:
root@iZijvdp1z0m5q4Z:~# sh test.sh camellia camellia It is a test
4:显示结果定向至文件
root@iZijvdp1z0m5q4Z:~# echo "test write" > test.sh root@iZijvdp1z0m5q4Z:~# vim test.sh
文件内容如下图所示:
5.原样输出字符串,不进行转义或取变量(用单引号)
root@iZijvdp1z0m5q4Z:~# echo '$name"' $name"
6:显示命令执行结果
root@iZijvdp1z0m5q4Z:~# echo `date` Mon Aug 22 15:50:06 CST 2022
7:查看系统环境变量
很简单,系统的环境变量一般都是以开头,对你没看错,就是���中的那个开头,对你没看错,就是PHP中的那个
然后,你可能会问,我也不知道linux系统的环境变量有哪些呀?
很简单:输入命令
echo $
按下tab键,如下图所示:
嗯……这就是所有的系统变量,想看啥就看啥就好了
以上大概就是echo命令的基本使用方法。
二:重定向
其实上边我们在测试echo的时候,就已经使用过重定向了。
echo "test write" > test.sh
将test write写入至test.sh文件中。
下边我们来测试一下,很简单,我们将当前目录的所有文件名写入test.sh中
root@iZijvdp1z0m5q4Z:~# ll > test.sh root@iZijvdp1z0m5q4Z:~# vim test.sh
结果如下图所示:
我们再向test.sh文件中写入 “test write” 看会发生什么情况:
echo "test write" > test.sh vim test.sh
如下图所示:
很显然,> 重定向 是覆盖写入而并不是 追加写入,那如果我们想实现追加写入改怎么办呢?
很简单 >> 这就可以了。
root@iZijvdp1z0m5q4Z:~# ll >> test.sh root@iZijvdp1z0m5q4Z:~# vim test.sh
如下图所示:
到这,基本上重定向我们就是玩明白了。那这个玩意有啥用呢?
我们其实可以结合echo来使用,当我们不想使用vim编辑文件,而恰巧我们只需要追加写入的时候,就可以将重定向与echo结合使用。
root@iZijvdp1z0m5q4Z:~# echo "test write" >> test.sh root@iZijvdp1z0m5q4Z:~# cat test.sh
有好的建议,请在下方输入你的评论。