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.