linux – 我可以假设安装了bash
我有一个跨平台产品,可以部署到几个
Linux发行版,我正在忙着更改其中一个启动脚本.目前该脚本使用/ bin / sh作为解释器.我的问题是.如果我将其更改为/ bin / bash,我会有多安全,是否会出现某些未安装bash或其他情况的情况.为什么/etc/init.d中的所有脚本都使用/ bin / sh.使用bash时会有一些东西会破坏吗?
解决方法
如果可移植性是一个目标,那么假设安装了bash,你自己就会受到伤害.这并不是说99%的时间不会安装bash,而是获得ya的1%.
bash是一个POSIX Compliant shell,所以除非你需要/想要使用bash-only语法,否则我不会只是随心所欲地将解释器行更改为#!/ bin / bash;它使用与#!/ bin / sh一起使用的脚本购买任何东西
因为如果管理员决定通过删除bash来保存硬盘空间,因为他们最喜欢的shell是zsh,他们不希望系统关闭
反过来也是如此.如果你有一个只有bash-only(非POSIX)语法的脚本,例如[[]]或进程替换<(),如果你将解释器从#!/ bin / bash改为#!/ bin,这将会中断/ SH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |