2011-12-19 17 views
12

Potrzebuję utworzyć skrypt bash, który będzie działać na komputerze Mac. Musi pobrać plik ZIP z witryny i rozpakować go w określonej lokalizacji.Jak napisać skrypt BASH, aby pobrać i rozpakować plik na komputerze Mac?

  1. Pobierz plik ZIP (curl -O)
  2. rozpakować pliki do określonej lokalizacji (unzip filename.zip path/to/save)
  3. Usuń plik .zip

muszę zrobić to, aby ludzie mogli podwójnie kliknij plik tekstowy na swoim pulpicie, który automatycznie uruchomi się w terminalu.

Jak zrobić, aby użytkownik dwukrotnie kliknął ikonę na pulpicie i uruchomi się? Jakie rozszerzenie wymaga plik?

+1

Plik wymaga rozszerzenia '.cmd'. –

+0

. Polecenie działa równie dobrze. – alecwhardy

+0

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

Odpowiedz

19

OSX używa tego samego GNU sh/bash jak 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 

pierwsza linia #!/bin/sh jest tak zwaną linię "shebang" i jest obowiązkowe

+2

Domyślnie 'wget' nie jest zainstalowany w Mac OS. 'curl' jest. –

+0

zmieniono na zwijanie –

+2

poprawną metodą jest zwijanie -O – alecwhardy

13

BSD Tar można otworzyć plik zip i rozpakować za pomocą strumień. Tak więc będzie działać:

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

Plik musi być plikiem tar, w przeciwnym razie 'tar: To nie wygląda jak archiwum tar –

Powiązane problemy