2011-12-19 6 views
12

Je dois créer un script bash qui fonctionnera sur un mac. Il doit télécharger un fichier ZIP d'un site et le décompresser à un emplacement spécifique.Comment écrire un script BASH pour télécharger et décompresser un fichier sur un Mac?

  1. Téléchargez le fichier ZIP (curl -O)
  2. Décompressez les fichiers dans un emplacement spécifique (unzip filename.zip path/to/save)
  3. Supprimez le fichier .zip

que je dois faire ce que les gens puissent double- cliquez sur le fichier texte sur leur bureau et il s'exécutera automatiquement dans le terminal.

Comment faire en sorte que l'utilisateur puisse double-cliquer sur l'icône sur le bureau et qu'il s'exécute? De quelle extension le fichier a-t-il besoin?

+1

Le fichier nécessite une extension '.cmd'. –

+0

.command fonctionne tout aussi bien. – alecwhardy

+0

'curl -L http://example.org/fichier.zip | bsdtar -xvf - -C/path/to/save' – davidcondrey

Répondre

19

OSX utilise la même GNU sh/bash Linux

#!/bin/sh 

mkdir /tmp/some_tmp_dir       && \ 
cd /tmp/some_tmp_dir       && \ 
curl -sS http://foo.bar/filename.zip > file.zip && \ 
unzip file.zip         && \ 
rm file.zip 

la première ligne #!/bin/sh est dite ligne "tralala" et est obligatoire

+2

Par défaut, 'wget' n'est pas installé sous Mac OS. 'curl' est. –

+0

a changé pour curl –

+2

la façon correcte est curl -O – alecwhardy

13

BSD Tar peut ouvrir un fichier zip et décompressez par un courant. Ainsi, ce qui suit fonctionnera:

curl http://example.org/file.zip | tar -xf - -C path/to/save 
+5

Le fichier doit être un fichier tar sinon 'tar: Cela ne ressemble pas à une archive tar' –

Questions connexes