PDA

View Full Version : Info su automazine file .command


Valanga
10-05-2013, 08:19
Salve a tutti.
In relazione a questo vecchio post che ho trovato http://www.hwupgrade.it/forum/showthread.php?t=2425879
avrei bisogno di lanciare di quando in quando, dalla scrivania, un file .command

Il contenuto è il seguente:
sudo chmod -R +a "everyone deny delete" /Volumes/Dati
però, ovviamente mi rimanda "Impossibile eseguire il file “xxx.command” perchè non hai i privilegi di accesso adeguati."
E' possibile inserire la password nella stringa in modo che non mi venga richiesta?
Ho girato in lungo e in largo, ho Googlato tutta ieri sera ma non ho trovato nulla che mi aiuti.
PS: Automator l'ho provato ma ci ho sbattuto la testa per niente :muro:

Un grazie anticipato a chi mi può aiutare ;)

MacNeo
10-05-2013, 08:49
in automator per inserire comandi del genere si usa il do shell script
e per l'autorizzazione basta mettere in coda un with administrator privileges

quindi diventa qualcosa tipo
do shell script "whoami" with administrator privileges
nel virgolettato metti il comando che ti serve. Nel tuo caso hai già delle altre virgolette quindi devi un po' vedere come farglielo accettare, forse vanno messe col \ davanti.

edit. se vedi che l'autorizzazione di amministratore non basta, prova ad aggiungere anche il solito sudo nella stringa.

Valanga
10-05-2013, 11:17
Grazie MacNeo.
Dunque ho modificato il commnad in:

do shell script "chmod" with administrator privileges
sudo chmod -R +a "everyone deny delete" /Volumes/Dati

.....niente, sempre lo stesso errore.... dove sbaglio? :mbe: :muro:

MacNeo
10-05-2013, 12:21
no, io stavo parlando di applescript/automator, non del command.

apri AppleScript Editor (si trova in Utility) e incolla:
do shell script "chmod -R +a \"everyone deny delete\" /Volumes/Dati" password "pippo" with administrator privilegesovviamente devi scrivere la tua password al posto di pippo.
nota: quello script funziona se viene usato direttamente dall'utente amministratore. Se hai intenzione di usarla da altri utenti allora devi specificare meglio:
do shell script "chmod -R +a \"everyone deny delete\" /Volumes/Dati" user name "utenteadmin" password "pippo" with administrator privilegesIn questo caso, al posto di utenteadmin devi scrivere lo username dell'utente amministratore che vuoi che esegua il comando.

Controlla direttamente da dentro l'Editor che funzioni tutto come vuoi (fai Compila e poi Esegui), e in caso positivo te lo salvi come Applicazione. Fatti anche un'altra copia in formato Script così se un domani lo vuoi modificare hai la sorgente pronta.
Ovviamente se hai tempo da perdere puoi anche migliorarlo con un alert di successo quando ha finito di eseguire o roba del genere… vedi tu.

Note tecniche di riferimento per approfondimenti:
http://developer.apple.com/library/mac/#technotes/tn2065/_index.html

Valanga
10-05-2013, 13:41
Perfetto! :D
Funziona MacNeo, grazie infinite :winner:
Per quanto riguarda l'alert.... uhm... interessante... come potrei implementarlo?
Ad esempio, mettere un suono di quelli di sistema, come /System/Library/Sounds/glass.aiff

Grazie.

Valanga
11-05-2013, 08:19
Per il momento ho aggiunto la stringa

try
say "[[emph -]] ok [[emph -]]" without waiting until completion
end try

per far parlare il Mac dopo l'automazione :p

Se qualcuno ha qualche idea per aggiungere un suono, ben venga ;)

Valanga
11-05-2013, 09:00
TROVATO!

do shell script "afplay '/System/Library/Sounds/Glass.aiff'"

Tutto a posto, grazie!! :winner: