西夏一品堂 2016-08-15 10:07 采纳率: 0%
浏览 3

要想自己写的shell能兼容所有的linux发行版,需要注意什么

要想自己写的shell能兼容所有的linux发行版,需要注意什么
有很多linux发行版的shell语法有一些小的差别,就类似css,js的浏览器兼容问题。
请问,如何解决这个问题

  • 写回答

1条回答 默认 最新

  • 鸡督山伯伯 2016-08-15 11:19
    关注

    这是一个很好的问题,我也曾面临过这样的兼容性挑战。总体来说,脚本的兼容性,需要考虑这样几个方面的因素:

    (1)Shell类型:目前主流的是bash/sh、zsh,也有用ksh的。
    (2)Shell版本:不同版本的bash,也会存在差异,比如重定向的用法差异等
    (3)环境:不同的环境设置,会造成命令不同的行为。比如wget命令就会依赖不少环境变量。
    (4)版本:脚本中会引用各种命令,其版本不同,也会造成行为的不同。比如不同的pidof对匹配字符串的长度就有差异。
    (5)发行版类型:不同Linux发行版,其系统文件和目录设置,都存在一定的差异,比如权限、log位置等都有差异。

    据我了解,应该不存在一份文档或者指南,可以囊括所有的差异因素。最好的办法,可能也是看起来很笨的办法,就是尽量枚举出可能的差异,然后在不同的测试环境中去实际测试啦。

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误