2011-12-19 80 views
12

我需要創建一個bash腳本,將在mac上工作。它需要下載站點的ZIP文件並將其解壓縮到特定位置。如何編寫BASH腳本在Mac上下載和解壓縮文件?

  1. 文件下載的ZIP文件(curl -O
  2. 解壓縮到一個特定的位置(unzip filename.zip path/to/save
  3. 刪除.zip文件

我需要它使人們可以雙精度點擊桌面上的文本文件,它會自動運行在終端中。

我該怎麼做才能使用戶可以雙擊桌面上的圖標,它會運行?該文件需要什麼擴展名?

+1

該文件需要'.cmd'擴展名。 – 2011-12-19 05:12:03

+0

.command也一樣。 – alecwhardy 2011-12-19 05:54:57

+0

'curl -L http://example.org/file.zip | bsdtar -xvf -C/path/to/save' – davidcondrey 2017-03-16 15:47:22

回答

19

OSX使用相同的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 

第一行#!/bin/sh是所謂的「認領」行,是強制性的

+2

默認情況下'wget'沒有安裝在Mac OS中。 'curl'是。 – 2011-12-19 05:08:58

+0

更改爲curl – 2011-12-19 05:42:42

+2

正確的方式是curl -O – alecwhardy 2011-12-19 05:55:48

13

BSD焦油可以打開一個壓縮文件,並通過解壓縮流。因此,以下將起作用:

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

該文件必須是一個tar文件,否則'tar:這看起來不像一個tar歸檔文件' – 2015-11-09 17:52:39

相關問題