有多少命令可以与控制运算符一起排队?

有多少命令可以与控制运算符一起排队?

||我一直在阅读有关控制运算符的内容,我想知道可以与控制运算符(例如、&&和 )对齐的命令数量是否有限制;

另外,是否有一个配置文件可以对此进行调节?

PS:我不完全确定如何标记它。

答案1

确实没有;只要计算机的内存可以处理队列,shell 就应该尽力而为。根据POSIX:

sh -cshell 应以文件中的行、交互式 shell 中的终端或或 的情况下的字符串读取其输入system()。输入线可以是无限长度。这些行应使用两种主要模式进行解析:普通标记识别和此处文档的处理。

基本上所有这些|| &&串在一起相当于 shell 解析器的单个输入行,因为它必须解析每个的标记命令列表然后评估并执行列表的组成简单命令。

我曾经报道过这样的事情这里- 并且有很多命令示例详细说明了解析器的工作原理(或者至少我理解它是如何工作的)

答案2

我相信你会发现你遇到的限制不是命令的数量而是sh命令缓冲区的大小。在当前的 Linux 系统上,我认为大小约为 64K 字符。

相关内容