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!!