Script per confermare se l'attività è già stata eseguita, quindi aggiornare il file / elenco di testo

0

Ho in programma di eseguire uno script che aggiornerà i nostri Mac con il nuovo pacchetto di licenze / installatore di licenze Adobe, ma non voglio che venga eseguito se l'attività è già stata eseguita in precedenza.

Mi piacerebbe vedere uno script in grado di verificare la presenza di un file locale (ad esempio /Library/adobecc2018.txt) che verrà inserito in questa posizione dopo che la ri-serializzazione è stata completata una volta. Se il file adobecc2018.txt non è presente, verrà eseguito lo script completo. Se adobecc2018.txt è lì, voglio che lo script termini e non andare oltre.

Inoltre, avrò un altro file .txt seduto su una condivisione di rete e mi piacerebbe vedere il file popolato con il nome del computer una volta eseguito lo script, quindi abbiamo un elenco di computer che possiamo guardare per vedere quali computer sono stati corretti e quali no.

Ho trovato la sceneggiatura su cui ho lavorato l'anno scorso ma non l'abbiamo usata. Quindi la prima parte della mia domanda viene esaudita ma deve ancora capire come aggiungere del testo in un .txt. Quindi esempio: /share/adobeupdate.txt

Mi piacerebbe vedere qualcosa di simile a questo:

ComputerName-Date
ComputerName2-Date
ComputerName3-Date
ComputerName4-Date
ComputerName5-Date
etc.
#!/bin/bash

echo "Adobe Update Script"

####
#### If file /Library/Scripts/adobecc2018.txt DOES exist then exit
####
if [[ -f "/Library/adobecc2018.txt" ]] ; then
    echo '2018/19 Adobe Serialization Fix Already Applied - No more actions required'
    exit
fi


####
#### If file /Library/Scripts/adobecc2018.txt does NOT exist continue script
####
if [ ! -e "/Library/adobecc2018.txt" ]; then
    echo 'Adobe is using the OLD serial number - Now applying new 2018/19 Adobe Serialization'
#   touch /Volumes/shares/macscripts/adobecc2018_serialization_fix.command
    sudo touch /Library/adobecc2018.txt
    echo 'Adobe 2018/19 Serialization Completed'
fi

# Script End

exit 0  
    
posta Carter 30.08.2018 - 18:45
fonte

1 risposta

1

Secondo il tuo commento, dovresti aggiungere questa riga nella condizione che "serializzi" il file se non esiste.

printf '%s - %s\n' "$(scutil --get ComputerName)" "$(date)" >> /share/adobeupdate.txt
    
risposta data 30.08.2018 - 20:17
fonte

Leggi altre domande sui tag