Lendo argumentos da linha de comando

Fish Shell:
Lendo argumentos da linha de comando

How to:

Ler argumentos em Fish não podia ser mais direto. Vamos usar o $argv, que é uma lista contendo os argumentos passados para o script.

#!/usr/bin/env fish

# Exibe o primeiro argumento
echo "Primeiro argumento: "$argv[1]

# Conta todos os argumentos passados
echo "Número de argumentos: "(count $argv)

Saída de exemplo ao executar ./meuscript.peixe arg1 arg2 arg3:

Primeiro argumento: arg1
Número de argumentos: 3

Deep Dive

No mundo do shell, passar argumentos é tão antigo quanto os próprios shells. No Fish, $argv é onde esses argumentos residem. Diferente de outros shells, como Bash, onde você usa $1, $2, etc., Fish trata os argumentos como uma lista, mais fácil de iterar ou acessar diretamente.

Alternativas populares incluem o uso de getopts ou argparse para funções mais complexas de manipulação de argumentos. Com argparse, você pode, por exemplo, definir flags e valores padrões de forma mais estruturada.

Quanto à implementação, lembre-se de que, em Fish, não usamos $ para atribuir valores a variáveis; mas quando queremos ler o valor da variável, aí sim usamos.

set -l local_var "Olá, Fish!"
echo $local_var # Saída: Olá, Fish!

Mas para acessar elementos da lista $argv, usamos o $ tanto para leitura quanto para atribuição, já que estamos acessando um valor e não criando uma variável.

See Also