加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 我可以假设安装了bash

发布时间:2020-12-14 02:10:38 所属栏目:Linux 来源:网络整理
导读:我有一个跨平台产品,可以部署到几个 Linux发行版,我正在忙着更改其中一个启动脚本.目前该脚本使用/ bin / sh作为解释器.我的问题是.如果我将其更改为/ bin / bash,我会有多安全,是否会出现某些未安装bash或其他情况的情况.为什么/etc/init.d中的所有脚本都使
我有一个跨平台产品,可以部署到几个 Linux发行版,我正在忙着更改其中一个启动脚本.目前该脚本使用/ bin / sh作为解释器.我的问题是.如果我将其更改为/ bin / bash,我会有多安全,是否会出现某些未安装bash或其他情况的情况.为什么/etc/init.d中的所有脚本都使用/ bin / sh.使用bash时会有一些东西会破坏吗?

解决方法

Can I assume bash is installed

如果可移植性是一个目标,那么假设安装了bash,你自己就会受到伤害.这并不是说99%的时间不会安装bash,而是获得ya的1%.

How safe am I if I change this to /bin/bash,will there be some cases that bash is not installed or something

bash是一个POSIX Compliant shell,所以除非你需要/想要使用bash-only语法,否则我不会只是随心所欲地将解释器行更改为#!/ bin / bash;它使用与#!/ bin / sh一起使用的脚本购买任何东西

Why does all the scripts in
/etc/init.d use /bin/sh

因为如果管理员决定通过删除bash来保存硬盘空间,因为他们最喜欢的shell是zsh,他们不希望系统关闭

Are there some stuff that will break
when using bash?

反过来也是如此.如果你有一个只有bash-only(非POSIX)语法的脚本,例如[[]]或进程替换<(),如果你将解释器从#!/ bin / bash改为#!/ bin,这将会中断/ SH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读