Problema con spazi vuoti durante l'esecuzione di comandi shell in AppleScript

10

Il seguente codice per eliminare una directory in modo ricorsivo non funziona perché non riesco a superare la Application Support .

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Se utilizzo ~/Library/Application Support/Google... non succede nulla. Quale è previsto.
  • Se utilizzo ~/Library/Application\ Support/Google... non posso salvare lo script a causa del messaggio di errore: Syntax Error Expected “"” but found unknown token.

Come posso aggirare questo errore?

    
posta gentmatt 21.02.2013 - 19:01
fonte

3 risposte

10

Prova:

set pathwithSpaces to "/Users/John/Desktop/This is a test.docx"
do shell script "rm -r " & quoted form of pathwithSpaces
    
risposta data 21.02.2013 - 19:24
fonte
7

Devi raddoppiare i backslash e anche sfuggire agli altri spazi:

do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper\ Data/Shockwave\ Flash"

o sfuggire al percorso in un altro modo:

do shell script "rm -r ~/'Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash'"

quoted form of sostituisce ' con '\'' e circonda la stringa con virgolette singole, quindi non funziona con percorsi che iniziano con ~/ .

    
risposta data 22.02.2013 - 07:33
fonte
1
do shell script "open -n /Applications/App\ Store.app"

Gestisci space con \ .

Ad esempio, sostituisci App Store.app con App\ Store.app .

    
risposta data 19.05.2018 - 18:59
fonte

Leggi altre domande sui tag