gpt4 book ai didi

for-loop - zsh for 循环排除

转载 作者:行者123 更新时间:2023-12-02 19:35:09 25 4
gpt4 key购买 nike

这是一个简单的问题,但对于我来说,我无法弄清楚如何从 zsh for 循环中排除某些内容。例如,假设我们有这个:

for $package in /home/user/settings/*
do
# do stuff
done

假设在 /home/user/settings/ 中,有一个我想忽略的特定目录(“os”)。从逻辑上讲,我尝试了以下变体:

for $package in /home/user/settings/^os (works w/ "ls", but not with a foor loop)
for $package in /home/user/settings/*^os
for $package in /home/user/settings/^os*

...但这些似乎都不起作用。有人可以引导我的语法朝正确的方向发展吗?

最佳答案

在我看来,额外的 $ 可能是导致你悲伤的原因。

试试这个:

for package in /home/user/settings/^os; do
echo "Doing stuff with ${package}..."
done

如果您想将 ${package} 限制为仅目录,请使用 /home/user/settings/^os(/)

还要确保您设置了 extendedglob (我认为您这样做是因为 ls 适合您):

> set -o  | grep -i extendedglob
extendedglob on

关于for-loop - zsh for 循环排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com