Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    160

    [BASH] Problemino con RE

    Ciao.

    In uno script devo verificare che $1 sia uguale solo a "-l". "-p", "-r" e devo verificare anche che $2 sia diverso da tutti questi flag di opzione (cioè "-l", "-p", "-r", ma anche da "-a", "-b", "-c" ecc.). Ho provato a fare una cosa del genere (che non capisco perché non la accetta):

    if [[ "$2" = "-[a-z]" || "$1" = "-[a-km-oqs-z]" ]];

    Chi può darmi una mano? Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    160
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    prova con qualcosa del genere:

    codice:
    #!/bin/bash
    
    if [ ${#} -ne 2 ] ; then
       echo -e "Usage:\t${0}\t <-l|-p|-r> <arg>\n"
       exit 1
    fi
    
    S1=$(echo ${1} | sed -e 's/-[l,p,r]//')
    S2=$(echo ${2} | sed -e 's/-[a-z]//')
    RVAL=
    
    if [ -z ${S1} ] && [ -n ${S2} ] ; then
       RVAL=0
    else
       RVAL=1         
    fi
    
    if [ ${RVAL} -eq 0 ] ; then
       echo -e "\nSuccess: \"${0} ${@}\"\n"
    else
       echo -e "\nFailure: \"${0} ${@}\"\n"
    fi
    
    exit ${RVAL}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.