0
我在Linux系統中有一個巨大的文件夾。在它裏面,我有一個封裝了幾個shell腳本的zip壓縮文件。我需要執行這些shell腳本,但挑戰在於我沒有對此文件夾的寫入權限。另外,我也無法將它移動到其他目錄,因爲此文件的位置對其執行至關重要。它不會在任何其他目錄中工作。在zip存檔中執行shell腳本
有沒有辦法從zip壓縮文件內執行shell腳本而不解壓?
我在Linux系統中有一個巨大的文件夾。在它裏面,我有一個封裝了幾個shell腳本的zip壓縮文件。我需要執行這些shell腳本,但挑戰在於我沒有對此文件夾的寫入權限。另外,我也無法將它移動到其他目錄,因爲此文件的位置對其執行至關重要。它不會在任何其他目錄中工作。在zip存檔中執行shell腳本
有沒有辦法從zip壓縮文件內執行shell腳本而不解壓?
您可以通過zip文件後,只需指定路徑解壓一個特定的文件:
$ unzip c.zip a.sh
Archive: c.zip
extracting: a.sh
在此命令a.sh
是路徑要運行該腳本。
可以打印內容與-p
參數到stdout:
$ unzip -p c.zip a.sh
#!/bin/sh
echo "this is a.sh; it is now $(date)"
終於可以再管這sh
運行它
$ unzip -p c.zip a.sh | sh
this is a.sh; it is now Tue Sep 26 11:02:28 BST 2017
注意,相當多的shell腳本假設bash
,因此您可能想將其管道到bash
而不是sh
,具體取決於腳本。