如何在 zsh(或 bash)中的一行中运行 for 循环中的多个命令

问题描述 投票:0回答:1

假设我想在 zsh 的一行中运行 for 循环中的多个命令(在这种情况下,打印目录中的项目名称并打印它

for i in *; echo "=================="; cat $i done;

使用给定的代码,我得到了正确数量的“==================”打印,但我只得到了使用

cat
命令打印的最后一项

bash for-loop command zsh
1个回答
1
投票

您(几乎)总是可以用分号替换换行符:

for i in *; do echo "=================="; cat "$i"; done;

请注意,尾随分号(“完成”之后)不是必需的。

bash
文档中,搜索“控制运算符”,你会发现:

“一个简单的命令......由控制操作符终止”,“是以下符号之一:

|| & && ; ;; ( ) | <newline>

换句话说,这些符号中的任何一个都可以用于分隔命令,并且

;
在大多数情况下与换行符一样有效。

© www.soinside.com 2019 - 2024. All rights reserved.