如何在 Linux 中的 tcsh shell 上执行此操作

发布于 2024-09-18 05:53:06 字数 207 浏览 2 评论 0原文

我想在 Linux 中的 tcsh 上高效地执行以下操作。

somecommand a;
somecommand b;
somecommand c;

如果我执行somecommand {a,b,c},则会执行somecommand ab c,这不是我想要的。有办法做我想做的事吗?

I want to efficiently do the following on the tcsh in Linux.

somecommand a;
somecommand b;
somecommand c;

If I do somecommand {a,b,c}, this does somecommand a b c, which is not what I want. Is there a way to do what I want?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

傻比既视感 2024-09-25 05:53:06

在 tcsh 中,您应该使用 foreach 循环,如下所示:

foreach val (a b c)
  somecommand $val
end

更好的方法是将值放在变量中,如下所示:

set values="a b c"

foreach val ($values)
  somecommand $val
end

In tcsh, you should use a foreach loop, like this :

foreach val (a b c)
  somecommand $val
end

Better yet would be to have the values in a variable, like this :

set values="a b c"

foreach val ($values)
  somecommand $val
end
泪之魂 2024-09-25 05:53:06

在 Bash 中,它是 abc 中的 i;执行一些命令 $i;完成。我敢打赌 tcsh 中也有类似的情况。

In Bash, it's for i in a b c; do somecommand $i; done. I bet it's similar in tcsh.

寻找一个思念的角度 2024-09-25 05:53:06

@Borealid 的循环是最好的。只是为了好玩,另一种方法是使用 xargs:

echo a b c | xargs -n 1 somecommand

@Borealid's loop is best. Just for kicks, another way is to use xargs:

echo a b c | xargs -n 1 somecommand
江南烟雨〆相思醉 2024-09-25 05:53:06

感谢 Boralid 和 John 的回答。我为此在 tcsh 中创建了一个别名。有用!!

alias myglob 'echo \!:2-$ | xargs -n 1 \!:1'

Thanks Boralid and John for your answers. I have created an alias in tcsh for this. It works!!

alias myglob 'echo \!:2-$ | xargs -n 1 \!:1'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文