我有一个跨平台产品,可以部署到几个Linux发行版,我正在忙着更改其中一个启动脚本.目前该脚本使用/ bin/sh作为解释器.我的问题是.如果我将其更改为/ bin/bash,我会有多安全,是否会出现某些未安装bash或其他情况的情况.为什么/etc/init.d中的所有脚本都使用/ bin/sh.使用bash时会有一些东西会破坏吗?
Sie*_*geX 13
我可以假设安装了bash
如果可移植性是一个目标,那么你自己就会假设bash
已经安装了.这并不是说bash
99%的时间都不会安装,而是1%会得到你.
如果我将其更改为/ bin/bash,我会有多安全,是否会出现某些未安装bash或其他情况的情况
bash
是一个POSIX兼容 shell,所以除非你需要/想要使用仅bash语法,我不会只是#!/bin/bash
随心所欲地改变解释器行; 它可以用一个可以使用的脚本购买任何东西#!/bin/sh
为什么/etc/init.d中的所有脚本都使用/ bin/sh
因为如果管理员决定通过删除来保存硬盘空间,bash
因为他们最喜欢的外壳,他们不希望系统停机zsh
使用bash时会有一些东西会破坏吗?
反过来也是如此.如果你有一个只有bash-only(非POSIX)语法的脚本,例如[[ ]]
或者进程替换<( )
,如果你将解释器更改#!/bin/bash
为#!/bin/sh
归档时间: |
|
查看次数: |
2493 次 |
最近记录: |