key flag

1. key flag

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/11/2025 - 14:20h

boa tarde galera!
estou estudando shell script, estou empacado em chaves flags... por mais que leio e re-leio o livro shell script profissional no aurelho, eu não consigo entender direito, achei confuso e nada simples sua didatica.
bom, chega de lero lero:

#!/bin/bash
KEY_TRUE=1
KEY_FALSE=0
flag=$KEY_FALSE
VERSION=0.1
HELP="
-h => help
-u => users
-v => version
"
USERS=$(cat /etc/passwd | cut -d : -f 1 | sort)

case $1 in
-v) flag=$KEY_TRUE ;;
-h) flag=$KEY_TRUE ;;
-u) flag=$KEY_TRUE ;;
*) echo "que?"
esac

if[ $flag -eq $KEY_TRUE ]; then


não consigo prosseguir com o código!
podem me dar uma força aí?


  


2. Re: key flag

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 29/11/2025 - 11:58h

removido escreveu:

boa tarde galera!
estou estudando shell script, estou empacado em chaves flags... por mais que leio e re-leio o livro shell script profissional no aurelho, eu não consigo entender direito, achei confuso e nada simples sua didatica.
bom, chega de lero lero:

#!/bin/bash
KEY_TRUE=1
KEY_FALSE=0
flag=$KEY_FALSE
VERSION=0.1
HELP="
-h => help
-u => users
-v => version
"
USERS=$(cat /etc/passwd | cut -d : -f 1 | sort)

case $1 in
-v) flag=$KEY_TRUE ;;
-h) flag=$KEY_TRUE ;;
-u) flag=$KEY_TRUE ;;
*) echo "que?"
esac

if[ $flag -eq $KEY_TRUE ]; then


não consigo prosseguir com o código!
podem me dar uma força aí?


maninho, o comando case tem a estrutura
case $Variave in
padrão1 ) comando1
comando2
comandoN ;;
padrão2) comando1
comando2
comandoN
esac
e vc não deu comando nenhum, vc apenas fez uma atribuição de variáveis. Para que atribua, coloque o dois ponto : que é um comando que não faz nada mas permite que a linha seja processada

v) : flag=$KEY_TRUE ;; # por exemplo
e ainda ali no final a estrutura if não está fechada (fi) e o then está em branco... ou seja, se for verdade, .... dá branco no seu programa kkkkkk. Difícil ajudar sem saber de fato o que vc quer q o script faça!! e para flags a melhor opção é o getopts... acho que é isso que vc quer.
por exemplo, para exibir a mensagem de ajuda
MeuScript -h
em case h) deveria ser
case $1 in
h) echo $HELP
esac

e para exibir o usuário
MeuScript -u
case $1 in
u) echo $USERS
esac
por aí kkkkkk
mas aprenda aí com o getopts...



3. Re: key flag

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 29/11/2025 - 12:18h

removido escreveu:

boa tarde galera!
estou estudando shell script, estou empacado em chaves flags... por mais que leio e re-leio o livro shell script profissional no aurelho, eu não consigo entender direito, achei confuso e nada simples sua didatica.
bom, chega de lero lero:

#!/bin/bash

KEY_TRUE=1
KEY_FALSE=0
flag=$KEY_FALSE
VERSION=0.1
HELP="
-h => help
-u => users
-v => version
"
USERS=$(cat /etc/passwd | cut -d : -f 1 | sort)

case $1 in
-v) flag=$KEY_TRUE ;;
-h) flag=$KEY_TRUE ;;
-u) flag=$KEY_TRUE ;;
*) echo "que?"
esac

if[ $flag -eq $KEY_TRUE ]; then


não consigo prosseguir com o código!
podem me dar uma força aí?


#!/bin/bash

VERSION=0.1
HELP="
-h => help
-u => users
-v => version
"
USERS=$(cat /etc/passwd | cut -d : -f 1 | sort)

case $1 in
-v) echo $VERSION ;;
-h) echo "$HELP" ;;
-u) echo "$USERS" ;;
*) echo que?
esac

dá uma "testada" devagar aí pra ver se é isso mesmo que vc quer e não te dar muita "dor de cabeça" kkkkkk
Fica na Santa Paz de Deus!!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts