当前位置: 技术问答>linux和unix
请教echo 命令的一个特殊用法
来源: 互联网 发布时间:2016-05-01
本文导语: echo命令是在标准输出回显一行文本的。 如: echo abc 输出 abc 但如果是下面的两个语句(假定当前目录下存在name.sh test.sh两个文件) echo ls *.sh 和 echo *.sh 就会输出查询的结果:ls name.sh test.sh 和name.sh test.sh ...
echo命令是在标准输出回显一行文本的。
如:
输出 abc
但如果是下面的两个语句(假定当前目录下存在name.sh test.sh两个文件)
和
就会输出查询的结果:ls name.sh test.sh
和name.sh test.sh
怎么解释这两个现象呢?我用man echo 查不到echo有这个特性啊。
如:
echo abc
输出 abc
但如果是下面的两个语句(假定当前目录下存在name.sh test.sh两个文件)
echo ls *.sh
和
echo *.sh
就会输出查询的结果:ls name.sh test.sh
和name.sh test.sh
怎么解释这两个现象呢?我用man echo 查不到echo有这个特性啊。
|
echo ls *.sh
扩展通配符 * 后,成为
echo ls name.sh test.sh
输出
ls name.sh test.sh
不要以为写了 ls,就会执行系统命令 ls
|
lz 可以将管道理解为一个文件
echo 是不能接受一个文件的,这时应该用的是 cat
ls *.sh|cat
|
结果为空,是命令的原因。
这个命令根本就不产生输出,怎么展开都没用
直接写上 : name.sh test.sh
结果也是一样
|
正则表达式 不包括 通配符不? 二者有交叉不?