今天才刚开始玩 fish shell ,并试图转换Bash函数。它有效,但是我想知道是否有一种更优雅的方法来传递 fish 中的所有参数。
Bash函数在Docker容器中运行Elixir命令:
function elixir () {
docker run --rm -it -v $(pwd):/app -w /app elixir \
sh -ci "elixir $*"
}
fish 的功能:
function elixir --description "command to run Elixir in Docker"
docker run --rm -it -v (pwd):/app -w /app elixir elixir $argv[1..-1]
end
谢谢!
最佳答案
在fish中,所有变量都是列表,$var
扩展到整个列表,每个元素一个参数(因此,没有分词或其他操作)。
因此,只需$argv
就足够了,无需指定[1..-1]
。
关于bash - 将所有参数传递给 fish shell 中的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48090500/