将子命令分布在头命令上以避免两次写入相同的单词?

将子命令分布在头命令上以避免两次写入相同的单词?

我想尝试写这个命令:

while read -r repo; do gh repo delete $repo; done <<< $(gh repo list --no-archived)

这基本上清理了我的 GitHub 并删除了我未归档的所有内容,因为我想将其保留为备份。

我希望有某种方法 - 不使用别名 - 不必优雅地写两次“gh repo”。将两个子命令“list”和“delete”传递到该“head”的某种方式,例如:

gh repo $(list | while read -r repo; do delete $repo; done)

有没有可能的方法来做到这一点?这是 Zsh,但如果任何其他 shell 具有该功能,我很想知道。

相关内容