【问题标题】:Append multiple arguments and use them in a single command附加多个参数并在单个命令中使用它们
【发布时间】:2013-03-05 23:24:00
【问题描述】:

所以我打算在这里做的是创建一个脚本的一部分,它可以用 µtorrent(通过 wine)打开一个或多个 torrent。

Wine 路径需要像这样附加到参数中(循环显然不起作用):

for i in "$@"; do
  open="Z:/$(pwd)/$i"
done

wine utorrent "$open"

【问题讨论】:

  • 你能举个例子看看你到底想做什么?
  • @fedorqui,好吧,我的意思是,就像我说的那样,当输入“that_script lol.torrent another_one.torrent”之类的内容时,它会打开它们。用户键入要打开的任何文件都需要传递到该单行,以便一次打开它们。

标签: bash loops wine


【解决方案1】:

我会使用一个数组:

args=()
pwd=$(pwd)
for i; do
    args+=("z:/$pwd/$i")
done
wine utorrent "${args[@]}"

在 bash for 循环中,如果您省略了 in ... 子句,默认情况下它会遍历 "$@"

【讨论】:

  • 哦,是的。没想到。很高兴有这样一个地方,你可以来这里寻求答案,而且比你知道你会更快地得到答案。
  • 顺便说一句。我假设只是:for i; do args+=("z:/$(pwd)/$i"); done 有问题吗? (其次是葡萄酒线。)
  • 谢谢。 - 字符限制的填充符-
猜你喜欢
  • 1970-01-01
  • 2020-03-21
  • 2014-02-08
  • 1970-01-01
  • 2017-08-07
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
相关资源
最近更新 更多