2012-12-18 64 views
2

有沒有任何方法source(包括)編譯的腳本?不能`源`shc編譯的腳本

我使用shc編譯我的所有腳本,當我從命令行運行它們時,它們可以正常啓動。但是當腳本必須包含其他兩個腳本(variables.sh.xfunctions.sh.x)時,它會崩潰並返回錯誤,不能包含二進制文件。

有什麼辦法可以做到這一點?

包括一段代碼:

source $(dirname $0)/variables.sh.x 
source $(dirname $0)/functions.sh.x 
+3

我不認爲有辦法做到這一點,你的'.x'文件只是普通的舊可執行文件,它們的行爲就像這樣。爲什麼你要編譯? – Mat

回答

3

shc實際上並不編譯腳本。它只是通過將它們加密並嵌入到C程序中來混淆它們,所以它不能提高性能。實際的shell仍然會解釋並執行代碼,並且腳本需要運行。

如果您絕對必須使用此工具來混淆您的代碼,則必須將所有內容合併到一個文件中。