Tre metodi nella mia mente :
1) Test breve per un nome in un percorso (non sono sicuro che questo potrebbe essere il vostro caso)
ls -a "path" | grep "name"
2) Test breve per una stringa in un file
grep -R "string" "filepath"
3) Longer script bash usando espressioni regolari:
#!/bin/bash
declare file="content.txt"
declare regex="\s+string\s+"
declare file_content=$(cat "${file}")
if [[ " $file_content " =~ $regex ]] # please note the space before and after the file content
then
echo "found"
else
echo "not found"
fi
exit
Questo dovrebbe essere più veloce se si dispone di per testare più stringhe su un file con il contenuto utilizzando un ciclo, ad esempio cambiando l'espressione regolare in qualsiasi ciclo.
fonte
2012-11-02 10:08:05
Se eseguo questo comando dallo script di bash come catturare 0 o 1 in una variabile? – Toren
@Toren È possibile accedere allo stato di uscita più recente usando '$?'. puoi anche usare il comando grep accanto all'istruzione 'if' (come mostrato nella risposta aggiornata). –
Aggiornato con qualcosa che si spera sia più vicino al marchio. – Thomas