2016-05-16 9 views
-1

solarisのすべてのスクリプトをlinuxに貼り付ける必要があるという要件があります。スクリプトはLinuxと互換性があるはずであることを覚えておいてください。私はこれらの既存のスクリプトの互換性をどのようにチェックすることができないのか分かりません。私は、Linux環境が準備できていないことに注意してください。そして、私たちはそのようなタイプのデータ収集を行っています。Solaris vs Linux

おかげ Abhinav

答えて

0

あなたが保証はありませんでしょう、あまりにも多くの潜在的な違いがあります。Solaris固有のツールを呼び出す
*スクリプトが。
チェック(grepを)あなたの/bin/*への呼び出しのためのスクリプトおよびLinux
ほとんどの時間Linuxユーティリティ(grepを、セッド、awkは、日付)に異なるオプションを持つユーティリティを呼び出す/usr/bin
*スクリプトは、より多くのオプションを持つことになります。 GNUユーティリティをインストールして使用するか、Solaris上の基本オプションがLinuxでもサポートされることを期待してください。 * kshまたはbash
できれば、Solarisでbashをインストールして使用してみます。 whileループに注意してください(https://stackoverflow.com/a/5061255/3220113を参照)。
更新:
私自身の経験:
SolarisからAIXへのスクリプトをたくさん移行しています。どちらもkshです。私が持っていた問題は主に:$ varが空のときに
* if [ -z $var ]が失敗しました(if [ -z "$var"]を使用)。
*私は場所 上のファイルを編集したsed -iオプションを持っていないリモートスクリプトから呼び出されたときにこれは動作しませんでしたvi file <<@
を使用して、それが正しいの$ TERM
がありませんでした* crontabのスクリプトは(は/ etc /環境を見ていませんでしたAIX固有)
* AIXの日付の自宅時刻帯のDSTはうまく機能しませんでした。
*異なるディレクトリ(データベース配布!)
* Javaスクリプトを起動する前に設定する他のJavaクラスとクラスパス
*メールサーバーへの接続が異なる。
最近、私はbashとしか仕事していません。どのような安堵! findmtimeを分単位でサポートし、dateは跳躍することができ、grepは美しいオプションを持ち、さらにawkが自分のツールボックスに到達しました。 bashの場合は、whileループにパイプを張らないことを覚えておいてください。
もちろん、あなたの仕事の見積もりが必要です。過去3年間に自分で書かれたスクリプトを移植する必要があるとき(彼らは何をしているのか分かり、その金額は約2年働いている - 他のこともしていなければならない)、私の個人的な推測はプログラミングとテスト。

+0

ウォルター・フォー・レスの対応に感謝します。私はsolaris上のスクリプトを調べましたが、Linuxと互換性がない構文はほとんどありません。すべてのawk、grep、egrep、cd。 pwd etcコマンドが使用されます。また、互換性の有無を確認するために、これらのコマンドのすべてを自分のLinux環境で実行するのが賢明でしょうか? –

+0

私はあなたが得ることができるいくつかの驚きを私の答えを更新しました。 'man'ページは役に立たないでしょう。 'http:// mywiki.wooledge.org/BashFAQ'のページを読んだり、http://www.shellcheck.net/であなたの現在のスクリプトをテストしたり、スクリプトのコメントを理解したりすることができます。 –

+0

Walterに感謝します。シェルチェックは素晴らしいツールです。それは私が行ごとにデコードするのを助けています。 –

関連する問題