Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1
    • la riga dell'if non può funzionare, basta anche solo l'evidenziazione della sintassi del forum a fartelo capire: se apri delle virgolette in quel modo il contenuto (sostituzioni di variabili a parte) è interpretato come testo, mentre quello che vuoi tu è fare un confronto tra output di comandi; per catturare l'output dei comandi si usano i backtick (`comando`) o la sintassi $(comando) (entrambe si possono - e nel caso dell'[ si devono - includere tra apici doppi);
    • la chiusa quadra va staccata dall'ultimo carattere dell'espressione del confronto (deve rimanere come argomento separato);
    • cat stampa il contenuto del file specificato, ma in result tu hai già messo il contenuto del file stesso; cat $result darà risultati bizzarri (probabilmente un mucchio di file not found, visto che cercherà dei file con nome corrispondente alle varie righe di /etc/group
    • in generale, comandi come cut & co. non necessitano di un "cat" in pipe all'inizio - puoi specificare il file da aprire direttamente sulla riga di comando.


    Alla luce di tutto questo, si può riscrivere il tutto come:
    codice:
    #!/bin/bash
    if [ "`cut /etc/group -f1 -d:`" = "`cut /etc/group -f4 -d:`" ]
    then
        echo OK
    fi
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    91
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Alla luce di tutto questo, si può riscrivere il tutto come:
    codice:
    #!/bin/bash
    if [ "`cut /etc/group -f1 -d:`" = "`cut /etc/group -f4 -d:`" ]
    then
        echo OK
    fi
    ciao grazie della risposta , tuttavia ho ancora un dubbio : il mio obbiettivo era di verificare che per un gruppo specifico utente , es utente piero ha un gruppo piero , non ci siano altri utenti extra aggiunti :
    nel caso della soluzione che mi hai proposto , come è possibile tutto cio?
    il primo cut taglia tutto il file fino a EOF prendendo il field 1 , il secondo cut fa lo stesso con il field 4 ; com'è possibile poi fare il confronto?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.