将所有参数传递给鱼壳中的函数

时间:2018-01-04 07:21:19

标签: bash function shell fish

今天刚开始玩鱼壳,并试图翻译Bash功能。它有效,但我想知道是否有一种更优雅的方式来传递鱼的所有参数。

在Docker容器中运行Elixir命令的Bash函数:

function elixir () {
  docker run --rm -it -v $(pwd):/app -w /app elixir \
  sh -ci "elixir $*"
}

鱼类功能:

function elixir --description "command to run Elixir in Docker"
  docker run --rm -it -v (pwd):/app -w /app elixir elixir $argv[1..-1]
end

谢谢!

1 个答案:

答案 0 :(得分:5)

在fish中,所有变量都是列表,$var扩展到整个列表,每个元素一个参数(因此没有单词分裂或任何东西)。

所以只需$argv即可,无需指定[1..-1]

相关问题