接下来,我们来看一下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 "abcbdef"
abdef
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e abcbdef
abcbdef
通过上边的示例,我们可以看到在使用控制字符的时候,我们需要在处理的字符串两端添加双引号,否则控制字符不起作用。
(3):c取消输出行末的换行符。和“-n”选项一致
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e "abcc"
abc[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -n "abc"
abc[root@iZ2ze5am67ry6t5l15vyuuZ html]#
大概就是这么个效果。
(4):e Esc键
root@iZijvdp1z0m5q4Z:~# echo -e "111113333e"
111113333
root@iZijvdp1z0m5q4Z:~# echo -e "111113333e4444"
111113333444
这个参数目前我还没有发现任何我能用到的作用。
(5):n 换行符
root@iZijvdp1z0m5q4Z:~# echo -e "123nqwe"
123
qwe
(6):r 回车键
root@iZijvdp1z0m5q4Z:~# echo -e "123nqrwe"
123
we
(7):t 制表符,也就是Tab键
root@iZijvdp1z0m5q4Z:~# echo -e "1t2t3nqrwte"
1 2 3
w e
(8):v 垂直制表符
root@iZijvdp1z0m5q4Z:~# echo -e "1v2t3nqrwte"
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中的那个开头,对你没看错,就是PHP中的那个开头,对你没看错,就是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
有好的建议,请在下方输入你的评论。