Mat*_*tty 5 bash shell scripting
TLDP的高级Bash脚本编写指南指出,shell脚本不应该用于" 安全性很重要的情况,您需要保证系统的完整性并防止入侵,破解和故意破坏".
是什么让shell脚本不适合这样的用例?
由于shell的可塑性,很难验证shell脚本是否执行其预期的功能,并且仅在面对对话输入时才能执行该功能.shell的行为方式取决于环境,以及自身众多配置变量的设置.每个命令行都有多个级别的扩展,评估和插值.一些shell构造在子进程中运行,而构造包含的变量在父进程中扩展.在设计可能受到攻击的系统时,所有这些都与KISS原则背道而驰.