西夏一品堂 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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)