我无法举出一个例子来说明我可以/将如何使用lessecho
.手册页中的描述相当简单,但并不能帮助我提出用例:
描述
lessecho 是一个简单地在标准输出上回显其参数的程序。但输出中的任何元字符前面都有一个“转义”字符,默认情况下是反斜杠。
我在github上搜索了shellscripts,没有找到该命令的任何用法。你能举一两个(或三个)lessecho 的例子吗?用例越多样化越好。
答案1
这是一个配套程序less
。它在某些配置(在编译时确定)内部用于从命令调用 shell,您可以在其中指定代表文件名列表的通配符模式:“examine”( :e
) 命令和其他一些命令 ( -o
、-O
、-T
) 。奇怪的引用是less
内部解析的东西。使用lessecho
not的目的echo
是使文件名中的空格与用于分隔文件名的空格区分开来。该命令printf '%s\000'
可以达到相同的目的,但解析工作量较少,但在一些仍然可以使用的古老的 unice 上不可用。
我不知道为什么less
在现代unix系统上使用这种方法而不是调用glob
库函数。
答案2
主要目标lessecho
是转义元字符。但陷阱是没有字符默认情况下被视为元字符(请参阅-mx
选项手册)。因此,您需要使用选项指定至少一个元字符-m
,才能看到与参数不同的结果。
以冒号作为元字符的示例:
$ lessecho -m: a:b
a\:b