ソースコード環境:

ソースコード環境:

ソースコード環境:

$ 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

対象環境:

$ 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)

ターゲット環境では、#!/bin/sh各スクリプトでshebang行を使用します。


Solaris環境のシェルスクリプトはshebang行を使用#!/usr/bin/kshします。#!/bin/sh

目標は、シェルスクリプトをSolaris 10からRHEL 7.5に移行することです。


1) スクリプトは、/bin/shSolaris Korn シェルとシェルを使用して作成されました。posix規格に準拠?コードを確認せずにbash(Linux)にシームレスに移行します。

2)そうでない場合、スクリプトをLinuxに移行する前にどのような確認が必要ですか?

ベストアンサー1

あなたはできますいいえ コードを表示せずに移行してください。セキュリティ環境でスクリプトの実行をテストし、その結果をSolarisで同じテストの予想結果と比較する必要があります。また、エラー条件が両方のシステムで同じかどうか(ファイルの欠落、誤ったデータなど)を調べる必要があります。

POSIX方式は重要ではありませんシェルPOSIX以外のSolaris関連ユーティリティを呼び出すか、POSIX以外のシェル拡張を使用する可能性が高いため、スクリプトが作成されました。また、Linux用に更新する必要がある環境(ファイルのある場所、呼び出されるデバイス、インターフェイスなど)についても想定できます。

kshSolarisのシェルはとても違うしたがって、Linuxではbashスクリプトが「実行」されるとは期待できませんkshshbash

おすすめ記事