我有一个shell脚本,其中有100行代码执行一些敏感的业务逻辑。 我使用GPG加密加密了该文件,现在我想执行加密文件,就好像它是原始的shell文件一样。
基本上我想在加密后执行shell文件内容而不进行解密,因此该文件的用户不应该能够看到shell文件中的代码,但应该能够执行它。
我试过了,
decrypted=$(gpg -d ...)
eval "$decrypted"
但这对大文件不起作用。
答案 0 :(得分:1)
我正在使用以下内容:
$ bash < <(gpg -qd script.sh.gpg 2>/dev/null)
或
$ gpg -qd script.sh.gpg 2>/dev/null | bash -