首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将shell脚本从Solaris 10迁移到RHEL 7.5

将shell脚本从Solaris 10迁移到RHEL 7.5
EN

Unix & Linux用户
提问于 2018-11-14 03:03:29
回答 1查看 1.1K关注 0票数 -1

来源环境:

代码语言:javascript
复制
$ uname -a
SunOS machine1 5.10 Generic_150400-63 sun4u sparc SUNW,SPARC-Enterprise
$ pwd
/
$ ls -l /bin/sh
lrwxrwxrwx   1 root     root          13 Nov  1 19:39 /bin/sh -> ../../sbin/sh

目标环境:

代码语言:javascript
复制
$ pwd
/root
$ ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Jul 16 12:10 /bin/sh -> bash
$ cat /etc/system-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)

在目标环境中,我们在每个脚本中都使用shebang行#!/bin/sh

solaris环境中的Shell脚本正在使用shebang line #!/usr/bin/ksh#!/bin/sh

目标是将shell脚本从Solaris 10迁移到RHEL 7.5

( 1)脚本是否编写了solaris & /bin/sh shell、符合posix标准?为了在不验证代码的情况下无缝迁移到bash(Linux中)。

2)如果不是,在将脚本迁移到Linux之前需要进行哪些验证?

EN

回答 1

Unix & Linux用户

发布于 2018-11-14 07:09:09

在不查看代码的情况下,您可能无法迁移代码。您需要在安全的环境中测试运行脚本,并将结果与Solaris上相同测试的预期结果进行比较。您还应该调查两个系统上的失败条件是否相同(缺少文件、无效数据等)。

不管脚本是为何种POSIX编写的,因为脚本很可能调用非POSIX或Solaris特定的实用程序,或者使用非POSIX shell扩展。他们还可以假设环境(文件所在的位置、设备和接口的名称等等)。需要对Linux进行更新。

Solaris上的ksh shell与Linux上的bash非常不同,因此您不能指望ksh脚本在shbash上“只运行”。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/481602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档